Операционная система Linux





Слова и разделители


При разборе командной строки shell использует понятие разделитель (delimiter). Разделитель - это символ, разделяющий слова; таким образом, командная строка - это последовательность слов (которые имеют значение) и разделителей (которые значения не имеют). Для shell разделителями являются символ пробела, символ табуляции и символ перевода строки (который все-таки может попасть между словами способом, описанным в лекциях 6 и 7). Количество разделителей между двумя соседними словами значения не имеет.

Первое слово в тройке передается команде как первый параметр, второе - как второй и т. д. Для того чтобы разделитель попал внутрь слова (и получившаяся строка с разделителем передалась как один параметр), всю нужную подстроку надо окружить одинарными или двойными кавычками:

[methody@localhost methody]$ echo One Two Three One Two Three [methody@localhost methody]$ echo One "Two Three" One Two Three [methody@localhost methody]$ echo 'One > > Ой. И что дальше? > А, кавычки забыл!' One Ой. И что дальше? А, кавычки забыл! [methody@localhost methody]$

Пример 2.20. Закавычивание в командной строке (html, txt)

В первом случае команде echo было передано три параметра - "One", "Two" и "Three". Она их и вывела, разделяя пробелом. Во втором случае параметров было два: "One" и "Two Three". В результате эти два параметра были также выведены через пробел. В третьем случае параметр был всего один - от открывающего апострофа "One'" до закрывающего ...забыл!'". Все время ввода bash услужливо выдавал Мефодию подсказку "> " - в знак того, что набор командной строки продолжается, но в режиме ввода содержимого кавычек.


  4)

  Странное слово "нода" Мефодий решил оставить на совести неизвестного переводчика сообщений info.

  5)

  Точнее, на стандартный вывод, см. лекцию 6.

  6)

  Игра слов: "Bourne Again" вслух читается как "born again", т. е. "возрождённый".

© 2003-2007 INTUIT.ru. Все права защищены.

Содержание раздела


69945074