Что такое формат файла COMMAND?
Файл .command представляет собой текстовый скрипт оболочки, который Finder в macOS настроен открывать напрямую в Terminal.app и исполнять. По содержанию он идентичен скрипту оболочки - последовательности команд оболочки POSIX с необязательной строкой shebang в первой строке. Расширение .command определяет поведение: двойной щелчок по файлу .command запускает Terminal.app и выполняет скрипт в новом окне, тогда как двойной щелчок по файлу .sh открывает его в текстовом редакторе.
Прежде чем файл .command можно будет запустить двойным щелчком, для него должны быть установлены права на выполнение - используйте chmod +x yourscript.command в Terminal. Файлы, загруженные из интернета, проходят проверку macOS Gatekeeper; щелкните правой кнопкой мыши и выберите «Открыть», чтобы обойти предупреждение при первом запуске для не подписанных скриптов.
Без shebang macOS по умолчанию использует /bin/sh. Распространенные shebang:
#!/bin/bash- интерпретатор Bash#!/bin/zsh- Zsh (оболочка macOS по умолчанию, начиная с Catalina 10.15)#!/bin/sh- POSIX sh (наиболее переносимый)
Файлы .command широко используются для поставки простых утилит macOS, установщиков и инструментов разработчика, которым требуется видимый пользователю сеанс Terminal. Они открываются в любом текстовом редакторе и полностью читаемы для человека.
Безопасность и защита
РИСК: MEDIUMФайл .command может выполнять любые команды оболочки в macOS - включая удаление файлов, загрузку вредоносного ПО или изменение системных настроек. Никогда не запускайте файл .command из ненадежного источника, не прочитав предварительно его содержимое (правая кнопка мыши > «Открыть в программе» > TextEdit). macOS Gatekeeper добавляет флаг карантина к файлам, загруженным из интернета, выдавая предупреждение при первом запуске - не игнорируйте его для неизвестных скриптов.
Детали формата
в двух словахПрограммы, открывающие файлы COMMAND
macvim script.command в Terminal. chmod +x script.command в Terminal. Технические подробности
глубокая спецификация| Тип файла | Текстовый скрипт оболочки POSIX |
| MIME-тип | text/x-shellscript |
| Кодировка | UTF-8 (рекомендуется); также часто встречается ASCII |
| Окончания строк | Требуется LF в стиле Unix; окончания строк CRLF в стиле Windows нарушают выполнение скрипта |
| Магические байты | Нет (обычный текст); shebang в первой строке идентифицирует интерпретатор |
| Права на выполнение | Требуется chmod +x; без этого двойной щелчок в Finder не запускает Terminal |
| Интерпретатор по умолчанию (без shebang) | /bin/sh в macOS |
| Карантин Gatekeeper | Загруженные файлы .command вызывают предупреждение при первом запуске; используйте правую кнопку мыши > «Открыть», чтобы обойти его |
| Поведение при двойном щелчке в Finder | Запускает Terminal.app и выполняет скрипт в новом окне |
| Функциональное отличие от .sh | Только расширение; содержимое скрипта идентично - .sh открывается в текстовом редакторе, .command исполняется в Terminal |
| Связанная ОС | macOS (интеграция с Finder); синтаксис скрипта работает в любой системе POSIX |
| Типичный размер файла | 100 байт - 100 КБ |
| Выпущен | ~2001 (Mac OS X 10.0 - Terminal.app era) |
| Открыть стандартное | Да · без роялти |
| Спецификация | support.apple.com |
Конвертации COMMAND
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах COMMAND.
Часто задаваемые вопросы
Что такое файл .command на Mac?
Как запустить файл .command?
chmod +x ~/путь/к/скрипту.command в Terminal.