Ответы:
Сначала в терминале сделайте скрипт исполняемым, набрав:
chmod a+x (yourscriptname)
Затем в Finder щелкните правой кнопкой мыши свой файл и выберите «Открыть с помощью», а затем «Другие ...».
Здесь вы выбираете приложение, в которое хотите запустить файл, в данном случае это будет Терминал. Чтобы выбрать терминал, вам нужно переключиться с «Рекомендуемых приложений» на «Все приложения». (Приложение Terminal.app можно найти в папке Utilities)
Обратите внимание, что если вы не хотите связывать все файлы с этим расширением для запуска в терминале, вы не должны проверять «Всегда открывать с».
.command
, по умолчанию является исполняемым из Finder без необходимости указывать Finder, как его открывать.
.command
расширение файла.
Вы пытались использовать .command
расширение имени файла?
chmod +x
), но .command
расширение уже связано с терминалом. Отличное решение, спасибо
По состоянию на OSX 10.10 (Yosemite) и с тех пор по крайней мере OS X 10.8 (Mountain Lion) , поведение выглядит следующим образом, когда вы открыты (двойной щелчок) исполняемые скрипты из Finder :
.command
:
Preferences... > Profiles
вы можете автоматически закрыть окно при выходе из скрипта.cd -- "$(dirname "$BASH_SOURCE")"
сразу после линии Шебангаcd -- "$(dirname "$0")"
.chmod +x <script>
в Терминале; в противном случае вы увидите следующие симптомы:.command
: Finder отображает вводящее в заблуждение сообщение об ошибке, которое предполагает, что проблема может быть исправлена с помощью File > Get Info
, что не соответствует действительности - используйте chmod +x
метод, предложенный выше.#!/bin/bash
): поведение такое, как если бы суффикс был .sh
- см. ниже..sh
, исполняемые или нет:
TextEdit.app
или, если он установлен, с Xcode.app
..scpt
или .applescript
(даже если они сами помечены как исполняемые, что обычно не так):
[1] Исполняемый означает: сценарий с установленными битами разрешений на исполняемый файл и вызывающим пользователем - относительно владельца файла - следовательно, потенциально может быть исполнен.
Если вы используете chmod a+x
для установки всех битов разрешений (что является типичным), любой может вызвать его (при условии, что им также разрешено читать файл на основе битов разрешений на чтение и владельца файла).
osascript
включив его в .command
файл вместо того, чтобы вручную связываться с профилем.
osascript -e '...'
команды в конец сценария? Что это за конкретная команда, и гарантирует ли она, что правая вкладка закрыта, даже если скрипт не запущен на самой передней вкладке?
osascript -e 'tell application "Terminal" to close front window' > /dev/null 2>&1 &
... Это может не сработать в каждом сценарии, хотя перенаправление на end - это действительно ключ - в противном случае osascript можно легко адаптировать (например, окно может потребоваться изменить на tab, если это поведение вашего терминала по умолчанию и т. д.).
.command
запуска файла скрипта, несмотря на настройки профиля?
bash
скрипт, добавьте read -p 'Press Return to close this window.'
в качестве последнего утверждения.
Кроме того, вы можете создать обычное приложение Mac OS X из своего скрипта с помощью Platypus
Самый простой способ - изменить расширение на .command
или без расширения.
Но это откроет Терминал, и вам придется его закрыть. Если вы не хотите видеть вывод, вы можете использовать Automator для создания приложения Mac, которое вы можете дважды щелкнуть, добавить в док и т. Д.
Automator
приложениеRun
кнопку в правом верхнем углу, чтобы проверить это.File > Save
создать приложение.Нет необходимости использовать сторонние приложения, такие как Platypus.
Просто создайте Apple Script с помощью Script Editor и используйте команду do shell script "shell commands"
для прямых вызовов команд или исполняемых файлов сценариев оболочки, сохраните редактируемый файл сценария где-нибудь в безопасности и экспортируйте его для создания сценария приложения. Сценарий приложения запускается двойным щелчком или выбором в папке бара.
Вы также можете установить значения по умолчанию по расширению файла, используя RCDefaultApp:
http://www.rubicode.com/Software/RCDefaultApp/
потенциально вы можете настроить .sh для открытия в iTerm / Terminal и т. д., для этого потребуются разрешения пользователя на выполнение, например,
chmod u+x filename.sh