Site icon MAC-Life.ru

Командный (исполняемый) файл на МАС ОС

Оказалось простые задача создания исполняемого файла типа .bat или .cmd в Windows в MAC-OS вызывает затруднение и это неудивительно, в UNIX системах своя логика.
Но разобравшись один раз, на простом примере создания исполняемого bash скрипта, вы поймете как это работает и сможете использовать всю мощь  bash скрипта на вашем Макинтоше или Хакинтоше.

Обычно создание bash скриптов происходит в приложении терминал, от начала до конца, для некоторых пользователей это проблема, белое окно терминала их напрягает, кнопок нет, чего делать-непонятно.
Поэтому мануал будет почти полностью сориентирован на создание и запуск исполняемого скрипта через графический интерфейс, все предельно просто, скопировал, вставил + комментарий к операции.

Создание bash скрипта с помощь текстового редактора TextEdit

В Finder открываем программы и ищем текстовый редактор TextEdit:

После запуска TextEdit, его надо переключить в текстовый режим, в принципе это не обязательно, но крайне желательно, это поможет впоследствии избежать непредсказуемых ошибок:

После того копируем и вставляем:

#!/usr/bin/env bash
ping -c 3 8.8.8.8

Сохраняем файл на рабочем столе (можно в любом другом месте) с именем:

knock-knock.sh


После сохренения, файл knock-knock.sh должен появиться на рабочем столе.
Итак, самое главное сделали, мы создали файл в котором будет запускаться ping до 8.8.8.8 (google DNS), будут отправлены 3 пакета. Конечно, вы можете написать вместо гуглевского ДНС любой IP адрес.

Делаем bash скрипт исполняемым

Тут нам понадобится Terminal – это приложение находится в Программы/Утилиты:

Запускаем Терминал и копируем в него:

chmod +x ~/Desktop/knock-knock.sh


Теперь у нас есть есть исполняемый скрипт, аналог cmd файла в Windows, который осталось только проверить.

Перетаскиваем курсором мыши созданный вами knock-knock.sh в окно терминала и нажимаем на клавиатуре Enter

Если все сделано правильно, результат должен быть примерно таким:

Для полного счастья осталось назначить приложение для выполнения по умолчанию, как вы уже догадались, это должен быть Терминал. Тогда при на нажатии ПКМ (правой кнопкой мыши), будет автоматически открываться Терминал и и исполняться скрипт.

Командный (исполняемый) файл на МАС ОС – P.S. примечание
Надо сказать что статья справедлива и для другой техники Apple – IPAD, Iphone и т.д., ибо у них все на юниксе.

Расширения исполняемых файлов в macOS

Таким образом, расширения определяют тип и назначение исполняемого файла в macOS. Выбор нужного расширения помогает системе корректно обрабатывать и запускать файл при необходимости.

Примеры создания простых скриптов командной строки

Вот несколько примеров создания простых скриптов командной строки в файле с расширением .command для автоматизации различных задач в macOS:

  1. Скрипт для создания резервной копии файлов:
#!/bin/bash

TAR_FILE=backup_$(date +%Y-%m-%d).tar.gz 
DESTINATION=/Users/username/backups 
tar -czf $DESTINATION/$TAR_FILE /Users/username/Dcuments

  1. Скрипт для очистки системных файлов кэша:
#!/bin/bash 

sudo rm -rf /private/var/folders/* 
sudo rm -rf /Library/Caches/*

  1. Скрипт для изменения раскладки клавиатуры:
#!/bin/bash 

defaults write -g AppleKeyboardLayoutID -int 1

Эти простые примеры показывают, как с помощью скриптов командной строки можно автоматизировать рутинные задачи в macOS.

Как добавлять параметры и аргументы в командные файлы

Чтобы сделать командные файлы в macOS более гибкими, в них можно добавлять параметры и аргументы командной строки. Вот несколько способов это сделать:

  1. Использовать встроенные переменные $1, $2, $3 и т.д. для получения аргументов скрипта:

#!/bin/bash 
echo "Первый параметр: $1" 
echo "Второй параметр: $2"
  1. Получить все аргументы через переменную $*:

#!/bin/bash 
echo "Все параметры: $*"
  1. Использовать опции командной строки для параметров со значениями:

#!/bin/bash 
while getopts ":a:b:c" opt; do 
  case $opt in 
  a) 
    echo "Параметр -a $OPTARG" 
  ;; 
  b) 
    echo "Параметр -b $OPTARG" 
  ;; 

  c) 
    echo "Флаг -c установлен" 
  ;; 
  esac 
done
  1. Запросить ввод параметров через команду read:

#!/bin/bash 

echo "Введите имя:"
read name 
echo "Введите возраст:" 
read age 
echo "$name - $age лет"

Таким образом можно сделать скрипты более гибкими для разных сценариев использования.

Как сделать командный файл самовыполняющимся и автоматически запускающим задачи

Чтобы сделать командный файл в macOS самовыполняющимся и автоматически запускающим задачи, можно воспользоваться следующими способами:

#!/bin/bash 

# Команды скрипта 
sh /path/to/script.command

Создать plist файл в папке ~/Library/LaunchAgents, добавить ключи:

<key>RunAtLoad</key> 
<true/> 

<key>ProgramArguments</key> 
<array> 
    <string>/path/to/script.command</string> 
</array>

@reboot /path/to/script.command

Системные настройки – Пользователи и группы – Вход – добавить скрипт

/Applications/StartupItems
~/Library/LaunchAgents

Таким образом скрипт будет запускаться автоматически при старте системы или пользователя.

Заключение – Командные файлы и скрипты bash в macOS

Командные файлы (command files) – это исполняемые скрипты в macOS, позволяющие автоматизировать задачи с помощью командной строки.

Расширения командных файлов

Структура командного файла

Командный файл имеет простую текстовую структуру и содержит команды shell scripting на bash.

Пример скрипта:

#!/bin/bash

echo "Hello World"

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

Далее идут команды bash.

Создание скриптов командной строки

Примеры скриптов автоматизации:

Скрипт может принимать параметры:

#!/bin/bash 

echo "First parameter: $1" 
echo "Second parameter: $2"

Запуск командных файлов

Способы запуска в Terminal:

Автозапуск скриптов

Чтобы скрипт запускался автоматически, можно:

Таким образом, командные файлы и bash скрипты позволяют автоматизировать задачи в macOS.

Exit mobile version