Ответы:
Сначала в терминале сделайте скрипт исполняемым, набрав:
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