Как я могу написать сценарий bash в Mac OS X, который открывает окно терминала в определенном каталоге? Я бы предположил что-то вроде:
open /Applications/Utilities/Terminal.app
Но это ничего не делает (возможно, это загружает уже открытое приложение терминала, а не запускает новое окно терминала). И, конечно же, он не переходит в каталог, поскольку я не указал это...
Вот небольшой скрипт, который я набросал:
#!/usr/bin/osascript
on run argv
set dir to quoted form of (first item of argv)
tell app "Terminal" to do script "cd " & dir
end run
Если вы сохраните это и сделаете исполняемым
chmod +x script_filename
а затем запустите его
script_filename ~/Desktop
затем он откроет новое окно терминала и перейдет в каталог в аргументе.
Начиная с Mac OS X Lion 10.7, если вы откроете папку с терминалом, в этом месте будет создан новый терминал. например, вы можете перетащить папку на значок приложения «Терминал» или на панель вкладок, чтобы создать новую вкладку, и есть «Службы» («Новый терминал в папке»), которые вы можете использовать из контекстного меню, чтобы открыть новое окно или вкладку для выбранная папка в Finder или других приложениях (или даже путь, выбранный в тексте).
Чтобы сделать то же самое из командной строки (или сценария оболочки):
open -a Terminal /path/to/folder
Это эквивалент командной строки перетаскивания папки на значок приложения терминала. (Вы также можете указать полный путь для Терминала, если хотите указать конкретную копию/версию приложения.)
Я не уверен, работает ли следующее из сценария bash, но, по крайней мере, я узнал, как открывать определенные вкладки в определенных каталогах:
В разделе «Настройки» в разделе «Настройки» вы копируете профиль, который обычно хотите использовать. В Shell вы можете указать «Выполнить команду»: cd /some/directory
. Вы также захотите проверить «Запустить внутри оболочки». При желании вы можете указать заголовок в разделе «Окно».
Добавьте больше профилей таким образом.
Затем закройте все окна терминала, затем откройте профиль в новом окне, плюс еще один профиль в новой вкладке, плюс еще один профиль в новой вкладке. Теперь у вас есть окно с тремя вкладками. Сохраните это как группу окон.
Отныне, всякий раз, когда у вас запущен терминал, вы можете открыть эту группу окон, и вы получите новое окно с этими вкладками в этих каталогах.
Открытый вопрос: как мне сказать Терминалу открыть новую группу окон из сценария bash?
at01