Как запустить скрипт оболочки (.sh) в macOS

Чтобы запустить скрипт оболочки в macOS , откройте Терминал, перейдите в папку, содержащую .shфайл, и запустите его с помощью интерпретатора. Например, bash hello.shзапускает скрипт Bash без изменения его прав доступа. Если вы хотите запустить его как команду, сделайте его исполняемым с помощью команды `make` chmod +x hello.sh, а затем запустите `make` ./hello.sh. Эти методы работают в текущих версиях macOS.

Перед запуском проверьте скрипт.

Скрипт оболочки — это текстовый файл, содержащий команды. Эти команды выполняются с правами вашей учетной записи пользователя, поэтому скрипт может редактировать или удалять файлы, устанавливать программное обеспечение или передавать данные по сети. Перед запуском скрипта обязательно прочтите его, особенно если он запрашивает пароль администратора или использует команду ` sudo.`. Запускайте скрипты только из источников, которым вы доверяете; изменение прав доступа к файлу не делает его содержимое безопасным.

Компания Apple описывает сценарии командной оболочки как текстовые файлы, содержащие команды UNIX, и объясняет, как shebang выбирает оболочку, которая запускает сценарий. См. руководство Apple по сценариям командной оболочки в Терминале .

Запустите скрипт .sh с помощью Bash.

Это самый простой способ запустить скрипт Bash. Предварительно добавлять права на выполнение не требуется.

  1. Создайте или найдите скрипт. Скрипт оболочки можно написать в любом текстовом редакторе. Для быстрой проверки откройте TextEdit, выберите Формат > Сделать обычным текстом и введите следующие две строки:
#!/bin/bash
echo "Hello from macOS"

Сохраните файл как hello.sh. В диалоговом окне сохранения убедитесь, что имя файла заканчивается на .shи что TextEdit не добавил .txt. Первая строка — это shebang: она идентифицирует Bash как интерпретатор при прямом запуске скрипта. Вторая строка выводит короткое сообщение.

В текстовом редакторе TextEdit отображается файл hello.sh с шебангом Bash и командой echo.
В примере файла hello.sh содержится shebang, за которым следует команда, выводящая текст.
  1. Откройте Терминал и перейдите в папку с файлом. Нажмите Command-Space, введите Terminal и нажмите Return. Если вы сохранили файл в папке «Загрузки», введите:
cd ~/Downloads

Нажимайте Enter после каждой команды. Вы можете ввести команду lsдля вывода списка файлов и подтверждения их hello.shналичия. Перейдите Downloadsв папку, которую вы фактически использовали. Если имя папки или файла содержит пробелы, заключите путь в кавычки, например cd "$HOME/My Scripts", .

В терминале в папке «Загрузки» отображается файл hello.sh после смены каталога.
Используйте команду `cd`, чтобы открыть папку, содержащую скрипт, затем проверьте его имя с помощью команды `ls`.
  1. Запустите скрипт с помощью Bash. Введите имя скрипта после bash:
bash hello.sh

В терминале должно отобразиться Hello from macOS. Если скрипт использует синтаксис Zsh вместо Bash, запустите zsh hello.sh. В терминале в интерактивном режиме обычно открывается оболочка Zsh, но это не значит, что каждый скрипт следует запускать с помощью Zsh; используйте интерпретатор, для которого был написан скрипт. В шебанге скрипта часто указывается этот интерпретатор.

Запустите скрипт как исполняемый файл.

Вы также можете запустить скрипт напрямую, указав его путь. Это полезно, когда вы хотите выполнить его как небольшую команду. Инструкции Apple Terminal по созданию исполняемого файла используют chmodименно этот шаг.

  1. Предоставьте разрешение на выполнение. В том же окне терминала и в той же папке выполните следующую команду:
chmod +x hello.sh

Это добавляет файлу права на выполнение. Это одноразовое изменение, если права доступа не будут впоследствии сброшены. Избегайте использования более широких настроек прав доступа, чем необходимо; chmod +xэтого достаточно для личного скрипта, принадлежащего вам.

В терминале отображается применение команды chmod + x к файлу hello.sh.
Команда chmod +x помечает файл hello.sh как исполняемый.
  1. Запустите из текущей папки. Введите:
./hello.sh

Эта команда ./указывает оболочке запустить файл в текущем каталоге. Без неё оболочка обычно ищет файлы в папках, указанных в файле, PATHа не в текущей папке. Если вы находитесь в другом месте, используйте команду cdдля возврата в папку скрипта или введите его полный путь, например ~/Downloads/hello.sh, .

В терминале запущен скрипт ./hello.sh и отображается сообщение "Hello from macOS".
Запуск команды ./hello.sh запускает исполняемый скрипт и отображает его вывод.

Распространенные ошибки и способы их устранения

  • После использования команды `pip install -pip` возникает ошибка «Доступ запрещен» ./hello.sh: подтвердите имя файла, затем запустите `pip install -pip` chmod +x hello.sh. Или используйте `pip install -pip`, bash hello.shесли это скрипт Bash и вам не требуется прямое выполнение.
  • «Нет такого файла или каталога»: подтвердите папку с помощью команды `npm install` pwd, выведите список ее содержимого с помощью команды `npm lsinstall` и проверьте орфографию и регистр букв. Убедитесь, что файл на самом деле не называется ` hello.sh.txt.`.
  • Сообщение «Команда не найдена» внутри скрипта: скрипт может использовать утилиту, которая отсутствует или не включена в PATH. Перед установкой чего-либо проверьте документацию скрипта.
  • Ошибка «Неверный интерпретатор» или сообщение об ошибке , указывающее ^Mна то, что первая строка может указывать на недоступный интерпретатор, или файл может использовать символы конца строки в стиле Windows. Проверьте shebang и сохраните файл с символами конца строки Unix (LF).

Какой метод следует использовать?

Используйте bash hello.shдля быстрого запуска, если вы знаете, что это скрипт Bash. Используйте chmod +x hello.shс последующим, ./hello.shесли хотите запустить его напрямую и позволить его shebang выбрать интерпретатор. Ни один из этих методов не устанавливает недостающие зависимости, не исправляет несовместимые команды и не проверяет, является ли скрипт надежным.

Оставить комментарий

Как сделать скриншот на Mac: подробное руководство

Как сделать скриншот на Mac: подробное руководство

Узнайте, как делать скриншоты на Mac с помощью сочетаний клавиш для всего экрана, области или окна, а также советы по использованию приложения «Скриншот», буфера обмена, редактирования и сохранения.

Как добавить несколько изображений в один PDF-файл на macOS

Как добавить несколько изображений в один PDF-файл на macOS

Объедините несколько изображений в один PDF-файл на macOS с помощью Finder или Preview. Управляйте порядком страниц, избегайте обрезки и исправляйте отсутствующие страницы без дополнительного программного обеспечения.

Как отобразить FPS на macOS: Steam и интерфейс Metal от Apple.

Как отобразить FPS на macOS: Steam и интерфейс Metal от Apple.

Узнайте, как отображать FPS на Mac с помощью оверлея производительности Steam или HUD производительности Metal от Apple, а также как исправить ошибки, когда счетчик не отображается.

Как принудительно завершить работу приложения на Mac: 5 быстрых способов закрыть приложение

Как принудительно завершить работу приложения на Mac: 5 быстрых способов закрыть приложение

Используйте комбинацию клавиш Option–Command–Esc, чтобы принудительно завершить работу зависшего приложения на Mac, или закройте его из меню Apple, Dock, Монитора активности или Терминала.

Как использовать режим разделенного экрана на Mac: разместите два приложения рядом.

Как использовать режим разделенного экрана на Mac: разместите два приложения рядом.

Настройте режим разделенного экрана, измените размер или замените панель, используйте Mission Control и узнайте, когда мозаичное расположение окон рабочего стола лучше подходит для вашего Mac.

Как удалить данные EXIF ​​из фотографий на macOS

Как удалить данные EXIF ​​из фотографий на macOS

Узнайте, как удалить данные EXIF ​​из фотографий на macOS, скрыть местоположение в приложении «Фотографии», очистить экспортированные копии JPEG с помощью ExifTool и проверить результат.

Как безопасно синхронизировать две папки на Mac

Как безопасно синхронизировать две папки на Mac

Синхронизируйте две папки на Mac с помощью SyncTwoFolders, выберите одностороннее или двустороннее обновление и просмотрите изменения перед заменой или удалением файлов.

Как сделать резервную копию блога Tumblr на Mac

Как сделать резервную копию блога Tumblr на Mac

Создайте резервную копию блога Tumblr на своем Mac с помощью функции экспорта в веб-версию Tumblr. Скачайте и распакуйте ZIP-архив, сохраните записи и медиафайлы в безопасности и узнайте, что не вошло в архив.

Как пользоваться Google Maps на настольном компьютере Mac

Как пользоваться Google Maps на настольном компьютере Mac

Используйте Google Maps на своем Mac в Safari или Chrome, находите места и маршруты, переключайте слои карты и добавляйте веб-приложение Safari в Dock на macOS Sonoma 14 или более поздней версии.

5 лучших бесплатных конвертеров WAV в MP3 для Windows и macOS

5 лучших бесплатных конвертеров WAV в MP3 для Windows и macOS

Сравните пять бесплатных конвертеров WAV в MP3 для Windows и macOS, учитывая ограничения на размер файлов в онлайн-режиме, инструменты для пакетной обработки и удобные настройки экспорта.