Читаем UNIX полностью

>prog > file — переключить стандартный выходной поток в файл
>>prog >> file — добавить стандартный выходной поток к файлу
<prog < file — извлечь стандартней выходной поток из файла
|p1 | p2 — передать стандартный выходной поток p1 как стандартный выходной поток для p2
<"Документ здесь": стандартный выходной поток задается в последующих строках до строки, состоящей из одного символа str
*Задает любую строку, состоящую из нуля или более символов, в имени файла
?Задает любой символ в имени файла
[ccc]Задает любой символ из [ccc] в имени файла (допустимы диапазоны, такие, как 0-9 или a-z)
;Завершает команды: p1; p2 — выполнить p1, затем p2
&Выполняет аналогичные функции, но не ждет окончания p1
`...`Инициирует выполнение команд(ы) в ...; `...` заменяется своим стандартным выводом
(...)Инициирует выполнение команд(ы) в ... в порожденном shell
{...}Инициирует выполнение команд(ы) в ... в текущем вызове shell (используется редко)
$1, $2, ...Заменяются аргументами командного файла
$varЗначение переменной var в программе на языке shell
${var}Значение var; исключает коллизии в случае конкатенации переменной с последующим текстом (см. также табл. 5.3)
\\c — использовать непосредственно символ c, \ перевод строки отбрасывается
'...'Означает непосредственное использование
"..."Означает непосредственное использование, но после того, как $, `...` и \ будут интерпретированы
#В начале слова означает, что вся остальная строка рассматривается как комментарий (но не в седьмой версии)
var=valueПрисваивает value переменной var
p1 && p2Предписывает выполнить p1; в случае успеха выполнить p2
p1 || p2Предписывает выполнить p1; в случае неудачи выполнить p2

Таблица 3.1: Метасимволы shell

При таком количестве метасимволов интерпретатора необходимо иметь возможность экранировать специальный символ от интерпретации. Самый простой и надежный способ экранирования — заключить его в апострофы:

$ echo '* * *'

* * *

$

Можно также использовать кавычки "...", но интерпретатор на самом деле "заглядывает" внутрь этих кавычек в поиске метасимволов $, '...' и \, так что не применяйте "...", если только вам не требуется определенным образом обработать строку в кавычках.

Еще одну возможность дает ввод обратной дробной черты перед каждым символом, который вы хотите закрыть от интерпретатора, например:

$ echo \*\*\*

Хотя строка \*\*\* не похожа на английское слово, в терминологии языка shell это слово, ибо им является любая последовательность символов, воспринимаемая интерпретатором как целое, включая даже пробелы, если они взяты в кавычки.

Кавычки одного вида могут экранировать кавычки другого вида:

$ echo "Don't do that!"

Don't do that!

$

и могут не заключать в себе весь аргумент:

$ echo x'*'y

x*y

$ echo '*'A'?'

*А?

$

В последнем примере команда echo получает один аргумент, не содержащий апострофов, так как, сделав свое дело, апострофы исчезают. Строки в кавычках могут содержать символы строк:

$ echo 'hello

> world'

hello

world

$

Символ > является вторичным приглашением интерпретатора, которое выдается, если ожидается продолжение ввода для завершения команды. В этом примере апостроф в первой строке должен быть уравновешен другим апострофом. Вторичное приглашение интерпретатора хранится в переменной PS2; его можно изменить по своему вкусу.

Перейти на страницу:

Похожие книги

Полное руководство по Microsoft Windows XP
Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием. Особое внимание уделено обеспечению безопасности операционной системы.Издание адресовано пользователям и сетевым администраторам, желающим активно применять возможности операционной системы Windows XP (в том числе и недокументированные).

Джон Поль Мюллер , Питер Нортон

ОС и Сети, интернет / ОС и Сети / Книги по IT