Книга: Linux-сервер своими руками
19.7. Интерпретатор команд bash
Интерпретатор команд — это программа, выполняющая команды пользователя. Стандартным интерпретатором (или оболочкой) является bash (Bourne Again Shell). Достаточно распространенными также являются следующие интерпретаторы: sh, ash, bsh, tcsh, csh, zsh. Список установленных в вашей системе оболочек находится в файле /etc/shells. Команды оболочки можно вводить в командной строке, а можно оформить в виде сценария. Сценарий — это файл, содержащий команды оболочки. Создайте обыкновенный текстовый файл и сделайте его исполнимым. Система выполнит указанную последовательность команд. Для того, чтобы система узнала, какую оболочку нужно использовать, первая строка сценарий должна содержать полное имя сценария.
Например:
#!/bin/bash
Между символами # и ! не должно быть пробелов. Для обработки сценария вы можете использовать любую программу (естественно, она должна понимать синтаксис файла), а не только указанную в файле /etc/shells. Например, вы можете написать:
#!/usr/bin/my_proga
Оболочка при этом запустит программу /usr/bin/my_proga и передает имя файла сценария в качестве параметра. Если вы напишете:
#!/usr/bin/my_proga -f
то оболочка выполнит команду:
#!/usr/bin/my_proga -f <имя_сценария>
Создадим небольшой сценарий, который будет очищать экран и выводить на него ваше имя. Имя можно передать как параметр. Назовем наш сценарий test:
#!/bin/bash
# Это комментарий
clear
echo $1
Теперь рассмотрим все по порядку. С первой строкой, я думаю, все ясно. Вторая строка очищает экран. Третья строка выводит информацию, которая передана сценарию как первый (1) параметр. Запустите сценарий следующим образом:
./test Vasya Pupkin
На экране будет напечатан первый параметр, то есть слово Vasya. Вы можете немного изменить сценарий, чтобы он выводил оба параметра:
echo $1 $2
Если вы хотите передать фамилию, имя и отчество, то нужно использовать следующую команду:
echo "$1"
При этом не нужно явно указывать три параметра, просто интерпретатор не будет использовать пропуск для разделения параметров и все, что вы передадите ему, будет считаться одним параметром. При этом, если вы запустите сценарий с параметром Vasya Pupkin, на экране увидите Vasya Pupkin. А если укажете параметр Ivanov Ivan Ivanovich, сценарий так и напечатает Ivanov Ivan Ivanovich.
- Ваша первая программа на Bash
- Командный интерпретатор shell
- 19 Полезные команды и программы. Создание RPM-пакетов
- Глава 22 Командный интерпретатор bash
- Глава 11. Внутренние команды
- Инструмент командной строки gbak
- Инструмент командной строки gfix
- 5.4 Команда trap: обработка прерываний
- Bash debugging tips
- Команды и формирование культуры по инициативе сверху
- Scrum-команда: состав
- Как удалить ненужные команды из контекстного меню?