Основы программирования в Linux
Шрифт:
Переменные-параметры перечислены в табл. 2.3.
Таблица 2.3
| Переменная-параметр | Описание |
|---|---|
$1 , $2 , ... | Параметры, передаваемые сценарию |
| $* | Список всех параметров в единственной переменной, разделенных первым символом из переменной окружения IFS . Если IFS корректируется, способ разделения командной строки на параметры в переменной $* изменяется |
| $@ | Едва различимая вариация $* ; не использует переменную окружения IFS , поэтому параметры не сольются, даже если переменная IFS пуста |
Легче всего увидеть разницу между переменными-параметрами
Как видите, заключенная в двойные кавычки переменная-параметр
Помимо вывода на экран содержимого переменных с помощью команды
В приведенном далее сценарии показано несколько простых манипуляций переменными. После ввода сценария и записи его в файл try_var не забудьте превратить его в исполняемый файл с помощью команды
Если вы выполните этот сценарий, то получите следующий вывод:
Как это работает
Сценарий создает переменную
Далее в этой главе мы рассмотрим более подробно подстановку параметров.
Условия
Основа всех языков программирования — средства проверки условий и выполнение различных действий с учетом результатов этой проверки. Но прежде чем говорить об этом, давайте рассмотрим условные конструкции, которые можно применять в сценариях командной оболочки, а затем познакомимся с использующими их управляющими структурами.
Сценарий командной оболочки может проверить код завершения любой команды, вызванной из командной строки, включая сценарии, написанные вами. Вот почему так важно всегда включать в создаваемые вами сценарии команду exit с определенным значением.
На практике в большинстве сценариев широко используется команда
Эти команды в некоторых ранних оболочках UNIX вызывают внешнюю программу, но в более современных версиях их стараются делать встроенными. Мы вернемся к этому, когда будем рассматривать команды в следующем разделе.
Поскольку команда
Мы представим команду
To же самое можно записать следующим образом:
Егерь. Системный зверолов
1. Зверолов
Фантастика:
рпг
уся
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Неучтенный
1. Неучтенный
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
рейтинг книги
Второгодка. Книга 3. Ученье свет
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
рейтинг книги
Локки 7. Потомок бога
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
рейтинг книги
Переговоры
Детективы:
политические детективы
рейтинг книги
Диверсант
2. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
рейтинг книги
Гримуар темного лорда III
3. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Я все еще не царь. Книга XXVI
26. Дорогой барон!
Фантастика:
попаданцы
аниме
рейтинг книги
Арбан Саеш. Трилогия
50. В одном томе
Фантастика:
фэнтези
рейтинг книги
Газлайтер. Том 29
29. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Кодекс Охотника. Книга XV
15. Кодекс Охотника
Фантастика:
попаданцы
аниме
рейтинг книги
Сара
Проза:
современная проза
контркультура
рейтинг книги
Сюжет
Фантастика:
научная фантастика
рейтинг книги