У меня есть скрипт myname.command
на OSX 10.8 из какого-то приложения. Имеет Bash-скрипт с подписью (she-bang).
Какие другие форматы сценариев могут быть внутри файлов *.command
? Может, AppleScript или какой-то другой?
У меня есть скрипт myname.command
на OSX 10.8 из какого-то приложения. Имеет Bash-скрипт с подписью (she-bang).
Какие другие форматы сценариев могут быть внутри файлов *.command
? Может, AppleScript или какой-то другой?
В мире unix/linux
(afaik Mac использует вариант unix
) вам не понадобятся какие-либо расширения файлов для программ, но хорошей практикой является предоставление сценариям bash
.sh
, сценариям python .py
, perl и .pl
(и т.д.) .) расширение для людей, чтобы идентифицировать те сценарии, не просматривая сценарий, проверяющий линию взрыва. (Я не знаю, есть ли конкретные расширения для Mac)
Важной частью является исполняемый флаг chmod +x ./myscript.sh
который помечает файл как программу, которую можно выполнить.
Строка she-bang
является первой строкой в файле и начинается с #!
затем полный путь, указывающий на исполняемый файл /usr/bin/bash
, /usr/bin/perl
, /usr/bin/python
.
В некоторых установках Unix/Linux вполне возможно, что python
, bash
или любая другая программа находится не в /usr/bin/
а в /opt/python3.6
так что she-bang #! /usr/bin/python
не запустит программу. Так что, в принципе, это еще одна хорошая практика - начинать чертову линию с #!/usr/bin/env
за которой следует программа, которую вы хотите запустить т.е. #!/usr/bin/env bash
или #!/usr/bin/env python3
.
Это будет смотреть в среде Vars (PATH) для данной программы.