Spec-Zone.ru › Bash

Расширение оболочки

Расширение выполняется в командной строке после того, как она была разделена на 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API