Сценарий кома́ндной стрoки, или сценарий командной оболочки (англ. shell script), — программа, выполняемая командной оболочкой операционной системы. Наиболее часто термин применяется к скриптам, написанным для Bourne shell — программной оболочки систем UNIX.[1]
Эта статья или раздел нуждается в переработке. |
В Unix
В Unix-подобных операционных системах нет требований к расширению имени файла, однако для скриптов командной оболочки выделено расширение .sh. Наиболее простые операции, выполняемые такими скриптами, — вывод текста и базовые операции с файлами.
Для запуска скрипта необходимо ввести в эмулятор терминала с запущенным shell путь к файлу скрипта и аргументы (например, ./myscript.sh -switches—switch—file1 file2
). Аргументы пишутся через пробел. Среди разработчиков скриптов существует соглашение давать пользователю возможность менять режим работы скрипта исключительно через аргументы, начинающиеся с дефиса: одинарный дефис для аргументов длиной в один символ (при этом после дефиса может быть указано сразу несколько ключей, например, -abcd
эквивалентно -a -b -c -d
), или двойной дефис для аргументов длиной в два и более символов (например, --help
, --switch-with-very-long-name
). Двойной дефис, окружённый пробелами, указывает, что следующие за ним токены не являются аргументами.[2] Для упрощения следования этим соглашениям во многие UNIX-подобные системы включена программа getopt, упрощающая разбор аргументов.[3] Также обычной практикой является вывод справки при передаче аргумента --help
. Ещё один способ получить справку (для стандартных скриптов) — воспользоваться утилитой man.
Пример скрипта, конвертирующего изображения формата .jpg в формат .png:
#!/bin/bash
for jpg; do # использовать $jpg для каждого имени файла по очереди
png="${jpg%.jpg}.png" # получить PNG-версию имени файла .jpg с .png
echo converting "$jpg" ... # сообщение для пользователя
if convert "$jpg" jpg.to.png ; then # использовать утилиту convert для создания временного PNG-файла
mv jpg.to.png "$png" # если сработало, переименовать временный PNG-файл, дав требуемое имя
else # ...иначе напечатать сообщение об ошибке
echo 'jpg2png: ошибка: результат сохранён в "jpg.to.png".' >&2
exit 1
fi # конец "if"
done # конец "for"
echo "Успешно преобразовано" # сообщение об успехе
exit 0
В Windows
В Windows скрипты командной строки существуют в виде пакетных файлов и записываются в файл с расширением .bat, .cmd или .btm. Компиляции или другой специальной обработки файла для его запуска не требуется: достаточно написать его код и сохранить текстовый файл как пакетный.
Ссылки
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.