8.2.   Специальные символы
shell имеет также и другие символы,  которые  выполняют различные полезные функции.
8.2.1.   Запуск команды в фоновом режиме (символ &)
Некоторые команды  shell  занимают  много  времени  при выполнении. Эти команды можно запустить в фоновом  режиме  с использованием &, освобождая тем самым терминал  для  других задач. Общий формат для  запуска  команд  в  фоновом  режиме следующий:
	command &<CR>
Примечание.   Интерактивные  команды  shell  (например, read) нельзя запускать в фоновом режиме.
Когда  вы  запускаете  команду  в  фоновом  режиме,  то система UNIX выводит номер процесса. Вы можете  использовать этот номер для завершения  выполняющейся  в  фоновом  режиме команды.  Появившаяся  подсказка  означает,   что   терминал свободен и ожидает вашу команду.
Запустить команду в фоновом режиме вы можете  только  в том  случае,  если  ваш  терминал  предоставляет  вам  такую возможность.
8.2.2.   Последовательное выполнение команд (символ ;)
В одной командной строке вы  можете  указать  несколько команд. Эти команды должны быть разделены символом ;  (точка с запятой) или символом & (амперсанд):
	command1; command2; command3<CR>
Система UNIX выполняет команды в том порядке, в котором они стоят в командной строке, и печатает вывод этих команд в том же порядке.  Этот  процесс  называется  последовательным выполнением.
Например, введите:
	cd; pwd; ls<CR>
shell выполнит эти команды последовательно:
-  cd изменит ваше  местоположение,  переместив  вас  в
регистрационный справочник;
-  pwd распечатает  полное  имя  пути  вашего  текущего
справочника;
-  ls перечислит файлы в вашем текущем справочнике.
8.2.3.   Отмена специального значения (метасимвол \)
Символ \ позволяет вам  отменить  специальное  значение следующего за ним символа. Например, у вас есть файл  trail, который содержит следующий текст:
        The all * game
        was held in Summit.
Чтобы найти символ звездочка  (*)  в  файле,  воспользуйтесь
командой grep:
        $ grep \* trail<CR>
        The all * game
        $
команда grep найдет символ * в тексте и отобразит строку,  в которой она появилась. Без символа \, символ звездочка будет интерпретироваться shell как метасимвол.
8.2.4.   Отмена специального значения (метасимвол кавычки)
Отменить специальное значение символа вы также можете с помощью  метасимвола  кавычки.  Одиночные  кавычки   ('...') отменяют специальное значение всех символов  за  исключением самих одиночных кавычек. Двойные  кавычки  ("...")  отменяют специальное значение всех символов, за исключением  символов двойные  кавычки,  $  и  `(слабое  ударение).  Использование кавычек удобно для цифровых специальных символов.
Например, ваш файл trail содержит строку:
	He really wondered why? Why???
Чтобы найти строку,  содержащую  три  вопросительных  знака,
воспользуйтесь командой grep:
	$ grep '???' trail<CR>
	He really wondered why? Why???
	$
8.2.4.1.   Использование кавычек для отмены значения символа пробел  
Кавычки   аналогично   обратной   косой   черте   часто используются для отмены специального значения пробела. shell интерпретирует пробел в  командной  строке  как  разделитель между аргументами команды. Одиночные  и  двойные  кавычки  и обратная косая черта позволяют отменить это значение.
Например, чтобы  в  тексте  разместить  два  или  более слова, сделайте эти два слова одним аргументом, заключив  их в кавычки. Чтобы найти два слова "The all"  в  файле  trail, введите следующую команду:
        $ grep 'The all' trail<CR>
        The all * game
        $
Особенно   полезно   применение   отмены   специального значения пробела  для  функции  banner,  которая  использует пробел как разделитель аргументов и  печатает  аргументы  на отдельных строках.
Чтобы  напечатать  более  одного  аргумента  на   одной строке, заключите слова в двойные кавычки. Например, если вы введете:
	banner happy birthday to you<CR>
то команда banner напечатает ваше сообщение на 4-х  строках. Если вы введете:
	banner happy birthday "to you"<CR>
то команда banner напечатает ваше сообщение на 3-х  строках, причем слова "to" и "you" напечатает на одной строке.
Команда banner печатает сообщения на  экране  терминала большими плакатного размера буквами.
Назад | Содержание | Вперед