Начиная с OSX 10.10 (Йосемити) и с минимум OS X 10.8 (Mountain Lion) , поведениеследует, когда вы открываете (двойной щелчок) исполняемые скрипты из Finder :
- исполняемый файл скрипты [1] с суффиксом NO или суффикс
.command
: - выполняется по умолчанию - настройка не требуется :
- a new Откроется окно терминала, в котором запускается скрипт.
- по умолчанию, окно останется открытым после завершения сценария, чтобы вы могли проверить вывод (хотя в этот момент оболочка, запустившая сценарий, завершилась, и вы не можете взаимодействовать с нимбольше ).
Однако через Preferences... > Profiles
терминала можно автоматически закрыть окно при выходе из сценария.
- Предостережение : работаетпапка всегда является домашней папкой текущего пользователя , а НЕ папкой, в которой находится скрипт.
- Чтобы изменить сценарий оболочки на папку, в которой он находится, поместите
cd -- "$(dirname "$BASH_SOURCE")"
сразу после строки shebang - или, если вы должны остаться, POSIX-совместимый,
cd -- "$(dirname "$0")"
. - Для крайних случаев, таких как поиск истинного исходного каталога сценария с символической ссылкой , см. этот ответ моего.
- Если сценарий неожиданно не исполняемый :
- Сделать его исполняемым, запустив
chmod +x <script>
в терминале;в противном случае вы увидите следующие симптомы: .command
: Finder отображает вводящее в заблуждение сообщение об ошибке, в котором говорится, что проблема может быть исправлена с помощью File > Get Info
, что не соответствует действительности - используйте предложенный метод chmod +x
выше. - без суффикса:
- с линией Шебанга (например,
#!/bin/bash
): поведение такое, как если бы суффикс был .sh
- см. ниже. - с нет строка Шебанга: открывается в текстовом редакторе по умолчанию (по умолчанию TextEdit).
- Сценарии с суффиксом
.sh
, независимо от того, исполняются они или нет: - открыты для редактирования в
TextEdit.app
или,если установлено, с Xcode.app
.
- Сценарии с суффиксом
.scpt
или .applescript
(даже если они сами помеченыкак исполняемый файл, что обычно не так): - открыто для редактирования в
[Apple]Script Editor
- Обратите внимание, что JXA файлы с исходным кодом, похоже, не имеютсуффикс tinct (пока).
- Скрипты с a custom суффикс (суффикс, еще не известный системе), исполняемый или нет(на самом деле, относится к любому виду файлов):
- подсказка вам , чтобы приложение открывало их с помощью при первом откройте их и запомните, что выбор .
[1] Исполняемый файл означает: сценарий с установленными исполняемыми битами разрешений и вызывающим пользователем - относительно владельца файла - следовательно, потенциально может быть разрешен для его выполнения.
Если вы используете chmod a+x
для установки все биты разрешений (что типично), любой может вызвать его (при условии, что им также разрешено читать файл, основанный на битах чтения)) и право собственности на файл).