Расширенные терминальные / консольные приложения для Mac OS X?

Я использую много программ командной строки, очень часто с похожими аргументами. Кто-нибудь может порекомендовать приложение или рабочий процесс, который позволяет мне хранить часто используемые команды оболочки и выполнять поиск по моим недавним командам, используя графический интерфейс?

У меня есть команды, которые я использую очень часто (например, rsync для определенного каталога на сервере) и другие команды, которые я использую реже. Создание сценариев оболочки для каждого фрагмента кода, который я могу использовать повторно, выглядит немного неловко.

Специально для программ, которые я использую редко, я заканчиваю читать документы снова и снова, потому что я забыл записать точную команду оболочки. В идеале я хотел бы, чтобы приложение было таким же, как Terminal.app, но обеспечивало некоторую историю и управление фрагментами.

Что вы используете для отслеживания команд оболочки?

2 ответа

Отвечая, насколько мне известно. Я не уверен, что вы думаете, отсутствует, так что я могу быть там. В таком случае просто скажи мне.


Терминал (более конкретно, bash) имеет историю. Нажмите Up-Arrow или (потом)Down-Arrowили введите history, Он хранится в ~/.bash_history который может быть прочитан любым текстовым редактором. Редактировать команды проще, если вы знаете комбинации клавиш для навигации.

Поиск по истории также может помочь вам найти конкретные наборы параметров для одного вызова. Например, введите hdiutil и используйте их, чтобы найти все недавние вызовы этой команды, и циклически проходить через них.

Эти ( 1, 2) коммерческие скринкасты могут также помочь вам узнать больше о вашей оболочке. Я купил их, и они мне нравятся, но есть тонны, объясняющие практически любой аспект Терминала или bash использование.

Инструменты, такие как AppleScript (tell application "Terminal" to do script "...") и Automator (действие "Выполнить сценарий оболочки") также могут помочь автоматизировать повторяющиеся задачи или создавать "макросы".

В случае часто выполняемых программ создание небольшого сценария оболочки не будет плохой идеей. По сути, он состоит из двух строк и использует редактор, такой как TextMate, с командами, связанными с тем, что вы хотите выполнить (например, "сделать исполняемый файл", так что вам не нужно вводить это chmod линия) делает это еще проще.


Mac OS X использует .tool а также .command Расширения файлов для сценариев, выполняемых с использованием Терминала. Вы должны сделать их исполняемыми, к сожалению.

В дополнение к советам, которые дал вам Даниэль, вот еще несколько:

  • Вы можете установить HISTSIZE а также HISTFILESIZE выше, чем их значения по умолчанию 500 записей. Это позволит вам сохранить больше истории.
  • Создавайте псевдонимы и небольшие функции, когда не имеет смысла создавать скрипт. Они могут быть сохранены в вашем ~/.bashrc файл, и они всегда будут доступны, или вы можете поместить их в отдельный файл и получить их изнутри ~/.bashrc или даже из командной строки, если они вам не всегда нужны сразу.
  • Используйте какую-то регистрацию. Мои функции ведения журнала истории хранят не только команды и аргументы, но и дату и время (что может делать история Bash) и могут хранить каталог, который был текущим на момент выдачи команды, а также терминал или IP-адрес и другую информацию. Вы выбираете (например, так как я использую более одной версии Bash, у меня есть журнал регистрации версии Bash).
  • Вы можете привязать макросы клавиатуры к функциональным клавишам или другим комбинациям клавиш, которые позволяют сократить количество повторяющихся операций ввода.
  • Вы можете установить переменные, чтобы сделать то же самое.
Другие вопросы по тегам