Аналогично можно открыть доступ к своей библиотеке сценариев командной оболочке. Для этого в своем домашнем каталоге создайте папку, куда будут помещаться разрабатываемые сценарии. Затем добавьте ее в переменную PATH в сценарии входа, чтобы упростить вызов сценариев из нее.
Чтобы выяснить путь к домашнему каталогу, дайте команду echo $HOME, которая выведет в окне терминала полный путь. Перейдите в указанный каталог и создайте папку для разрабатываемых сценариев (мы рекомендуем назвать ее
export PATH="/path/to/scripts/:$PATH"
Затем вы сможете запустить любой сценарий из этой папки как обычную команду.
Запуск сценариев командной оболочки
К настоящему моменту мы уже воспользовались некоторыми командами, такими как echo, which и cat. Но мы использовали их по отдельности, а не вместе, то есть не в составе сценария. Давайте напишем сценарий, который выполнит их все последовательно, как показано в листинге 0.4. Этот сценарий выведет
Листинг 0.4. Содержимое нашего первого сценария командной оболочки
echo "Hello World"
echo $(which neqn)
cat $(which neqn)
Откройте текстовый редактор (в Linux, например, большой популярностью пользуются редакторы Vim и gedit, а в OS X — TextEdit) и введите содержимое листинга 0.4. Затем сохраните сценарий с именем
Сохраните файл и запустите сценарий в окне терминала. Вы должны увидеть результат, показанный в листинге 0.5.
Листинг 0.5. Результат запуска нашего первого сценария командной оболочки
··$ sh intro
··# Присутствие этого сценария не должно расцениваться как наличие поддержки
··#·· GNU eqn и groff −Tascii|-Tlatin1 |-Tutf8 |-Tcp1047
··GROFF_RUNTIME="${GROFF_BIN_PATH=/usr/bin}:"
··PATH="$GROFF_RUNTIME$PATH"
··export PATH
··exec eqn −Tascii ${1+"$@"}
··# eof
··$
Запуск сценария производится с помощью команды sh, которой имя сценария intro передается как аргумент. Команда sh обойдет все строки в файле и выполнит их, как если бы это были команды bash, введенные в окне терминала. Как показано в листинге 0.5, сначала на экран выводится строка Hello World
Упрощение способа вызова сценариев