Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

расширение

Каждый раз, когда мы набираем команду и нажимаем клавишу ввода, колотить выполняет несколько операций с текстом перед выполнением нашей команды. Мы видели несколько случаев, когда простая последовательность символов, например «*», может иметь большое значение для оболочки. Процесс, благодаря которому это происходит, называется расширение. С расширением мы входим во что-то, и оно расширяется во что-то еще до того, как оболочка воздействует на это. Чтобы продемонстрировать, что мы имеем в виду, давайте взглянем на эхо команда. эхо - это встроенная оболочка, которая выполняет очень простую задачу. Он выводит свои текстовые аргументы на стандартный вывод:



[я @ linuxbox ~] $ эхо это тест

Это тест

[я @ linuxbox ~] $ эхо это тест

Это тест


Это довольно просто. Любой аргумент, переданный в эхо отображается. Давайте попробуем другой пример:



[я @ linuxbox ~] $ эхо *

Документы рабочего стола ls-output.txt Музыкальные картинки Общедоступные шаблоны Видео

[я @ linuxbox ~] $ эхо *

Документы рабочего стола ls-output.txt Музыкальные картинки Общедоступные шаблоны Видео


Так что же только что произошло? Почему не эхо Распечатать "*"? Как мы помним из нашей работы с подстановочными знаками, символ «*» означает соответствие любым символам в имени файла, но в нашем первоначальном обсуждении мы не видели, как оболочка это делает. Простой ответ заключается в том, что оболочка заменяет «*» на что-то еще (в данном случае имена файлов в текущем рабочем каталоге) перед эхо команда выполняется. Когда клавиша ввода


нажата, оболочка автоматически расширяет все квалификационные символы в командной строке перед выполнением команды, поэтому эхо команда никогда не видела «*», только ее расширенный результат. Зная это, мы видим, что эхо вел себя как положено.


 

Лучшие облачные вычисления для ОС в OnWorks: