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 печатает сообщения на
экране терминала большими
плакатного размера буквами.
|