Скрипт, запускающий команды на двух терминалах
Мне нужно сделать .command
файл сценария / пакетный. Запуск его (двойной щелчок) должен выполнить следующие вещи:
- Откройте окно терминала (A)
- Запуск команды, которая открывает папку, в которой находится файл (возможно, это
cd "dirname "$0""
) - Запустите команду
- Откройте окно терминала (B)
- Запуск той же команды в точке 2
- Запустите команду
1 ответ
Учитывая, что вы явно хотите создать терминальные окна, рассмотрите возможность создания приложения с помощью AppleScript:
- открыто
Script Editor
(до 10,9,AppleScript Editor
) - Вставьте код ниже.
- Сохранить как приложение (с помощью всплывающего списка в
Save As
диалог) в нужную папку.
# Determine the folder in which this app is located.
set thisFolder to do shell script "dirname " & quoted form of POSIX path of (path to me)
# Sample commands to execute in the new windows.
set cmds to {"date", "echo $$"}
tell application "Terminal"
# Create 2 new windows, change to the
# this app's folder, and execute the respective command.
repeat with i from 1 to 2
do script "cd " & quoted form of thisFolder & "; " & item i of cmds
end repeat
# Activate Terminal.app
activate
end tell
Причина, по которой я рекомендую использовать приложение более *.command
файл заключается в том, что последний сам сначала откроется в окне терминала, прежде чем создавать нужные окна, что может привести к нарушению внешнего вида (и, в зависимости от ваших настроек Terminal.app, может оставить дополнительное окно открытым).
Кроме того, вы можете превратить это в добродетель и использовать *.command
собственное окно файла как ваше 1-ое окно терминала, и создайте только одно дополнительное.