Linux: Полное руководство
Шрифт:
Командные интерпретаторы bash и ksh поддерживают циклы типа for, while, until и select, а интерпретатор sh — только циклы for и while.
Синтаксис:
В результате подстановки шаблона получается список слов. Переменная получает значение первого слова из этого списка, и выполняется
Список слов можно сформировать и вручную:
Еще раз напомню, что любой список в bash нужно заканчивать точкой с запятой.
Пример использования цикла с перечислением: допустим, у вас не хочет собираться некий программный пакет — он рассчитывал, что имена заголовочных файлов в некотором каталоге имеют расширение .h, а у вас они такого расширения не имеют (установлена другая версия библиотеки). При этом содержание этих файлов его устраивает. Так создадим символические ссылки, чтобы он нашел заголовки по знакомому имени:
Синтаксис:
Оператор выполняет
Тот же самый обратный отсчет можно реализовать и с помощью цикла for, если у вас установлена утилита seq, печатающая последовательность (sequence) чисел с заданным шагом:
Синтаксис:
Оператор выполняет
Синтаксис:
В результате подстановки шаблона получается список слов. К этим словам оператор добавляет порядковые номера и выводит весь набор в стандартный поток ошибок (stderr). Если шаблон опущен, то вместо него используется список позиционных параметров. После этого оболочка выводит приглашение и считывает строку из стандартного потока ввода (stdin). Если строка содержит номер, соответствующий какому-либо слову из списка, то переменная получает это слово в качестве значения. Если в строке подходящего
Этот оператор полезен для создания нумерованных пунктов меню. Например, у меня в каталоге
Листинг 8.3. Пример использования оператора select
Запустив этот сценарий, я увижу на экране:
Последняя строка — это приглашение, устанавливаемое переменной окружения PS3.
8.5. Условная подстановка параметров
Условная подстановка позволяет проверить, установлен ли определенный параметр, или использовать вместо его значения другое. Значение самого параметра при этом не изменяется. Допустимые виды условных подстановок перечислены в таблице 8.4.
Условная подстановка Таблица 8.4
| Конструкция | Выполняет подстановку |
|---|---|
| ${параметр:-строка} | Значение по умолчанию. Если параметр имеет непустое значение, то подставляется оно, иначе — указанная строка |
| ${параметр:=строка} | Присваивание значения по умолчанию. Если параметр не имеет непустого значений, то ему присваивается «строка», после чего значение подставляется. Конструкция допустима только для переменных оболочки |
| ${параметр:?сообщение} | Ошибка, если пусто. Если параметр не имеет непустого значения, то выводится указанное сообщение. Сообщение можно опустить, тогда будет выведено стандартное сообщение |
| ${параметр:+строка} | Дополнительное значение. Если параметр имеет непустое значение, подставляется «строка», иначе — пустая строка |
| ${параметр#шаблон} | Подставляется значение параметра, в котором из головной части удален наименьший фрагмент, удовлетворяющий шаблону |
| ${параметр##шаблон} | Подставляется значение параметра, в котором из головной части удален наибольший фрагмент, удовлетворяющий шаблону |
| ${параметр%шаблон} | Подставляется значение параметра, в котором из хвостовой части удален наименьший фрагмент, удовлетворяющий шаблону |
| ${параметр%%шаблон} | Подставляется значение параметра, в котором из хвостовой части удален наибольший фрагмент, удовлетворяющий шаблону |
| ${#параметр} | Если параметр есть * или @, подставляется количество позиционных параметров, иначе — длина значения параметра в байтах |
Как разнообразить себе жизнь
Любовные романы:
любовно-фантастические романы
рейтинг книги
Егерь. Прилив. Книга 10
10. Зверолов
Фантастика:
рпг
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Я – Стрела. Трилогия
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
рейтинг книги
Точка Бифуркации X
10. ТБ
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Волшебница-самозванка
1. Волшебница-самозванка
Фантастика:
юмористическое фэнтези
рейтинг книги
Каторга. Преступники
1. Русская классика XX века
Проза:
русская классическая проза
рейтинг книги
Ученик. Книга вторая
2. Ученик
Фантастика:
фэнтези
рейтинг книги
УЗНИК РОССИИ
Проза:
историческая проза
рейтинг книги
Переписка и деловые бумаги
Документальная литература:
публицистика
рейтинг книги
Рыцарь Империи
3. Одержимый
Фантастика:
фэнтези
рейтинг книги
Белый ягуар - вождь араваков. Трилогия
Исторические приключения
Приключения:
исторические приключения
путешествия и география
приключения про индейцев
рейтинг книги
А может, в этот раз?
Любовные романы:
современные любовные романы
рейтинг книги
Суть острова. Книга 2 (Что может быть круче своей дороги?)
2. Мир Бабилона
Проза:
современная проза
рейтинг книги