Сценарий кома́ндной стрoки, или сценарий командной оболочки (), — программа, выполняемая командной оболочкой операционной системы. Наиболее часто термин применяется к скриптам, написанным для Bourne shell — программной оболочки систем UNIX.
В Unix В Unix-подобных операционных системах нет требований к расширению имени файла, однако для скриптов командной оболочки выделено расширение .sh. Наиболее простые операции, выполняемые такими скриптами, — вывод текста и базовые операции с файлами.
Для запуска скрипта необходимо ввести в эмулятор терминала с запущенным shell путь к файлу скрипта и аргументы (например, ./myscript.sh -switches—switch—file1 file2). Аргументы пишутся через пробел. Среди разработчиков скриптов существует соглашение давать пользователю возможность менять режим работы скрипта исключительно через аргументы, начинающиеся с дефиса: одинарный дефис для аргументов длиной в один символ (при этом после дефиса может быть указано сразу несколько ключей, например, -abcd эквивалентно -a -b -c -d), или двойной дефис для аргументов длиной в два и более символов (например, --help, --switch-with-very-long-name). Двойной дефис, окружённый пробелами, указывает, что следующие за ним токены не являются аргументами.UNIX conventions for command line arguments (Bruce Barnett’s Bourne Shell Grymoire) Для упрощения следования этим соглашениям во многие UNIX-подобные системы включена программа getopt, упрощающая разбор аргументов.Checking for optional arguments (Bruce Barnett’s Bourne Shell Grymoire) Также обычной практикой является вывод справки при передаче аргумента --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. Компиляции или другой специальной обработки файла для его запуска не требуется: достаточно написать его код и сохранить текстовый файл как пакетный.
Ссылки
Категория:Командные оболочки Unix Категория:Языки программирования