Расширение оболочки
Расширение выполняется в командной строке после того, как она была разделена на tokens. Существует семь видов расширения:
- расширение фигурных скобок
- расширение тильды
- расширение параметров и переменных
- подстановка команд
- арифметическое расширение
- разбиение слов
- расширение имён файлов
Порядок расширений: расширение фигурных скобок; расширение тильды, расширение параметров и переменных, арифметическое расширение и подстановка команд (выполняется слева направо); разбиение слов; и расширение имён файлов.
В системах, которые это поддерживают, доступно дополнительное расширение: подстановка процессов. Оно выполняется одновременно с расширением тильды, параметров, переменных и арифметическим расширением, а также подстановкой команд.
После выполнения этих расширений символы кавычек, присутствующие в исходном слове, удаляются, если они сами не были взяты в кавычки (удаление кавычек).
Только расширение фигурных скобок, разбиение слов и расширение имён файлов могут увеличить количество слов в расширении; другие расширения расширяют одно слово до одного слова. Исключениями из этого правила являются расширения "$@" и $* (см. Специальные параметры), а также "${name[@]}" и ${name[*]} (см. Массивы).
После всех расширений выполняется quote removal (см. Удаление кавычек).
- Расширение фигурных скобок
- Расширение тильды
- Расширение параметров оболочки
- Подстановка команд
- Арифметическое расширение
- Подстановка процессов
- Разбиение слов
- Расширение имён файлов
- Удаление кавычек
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Shell-Expansions.html