Служба поддержки:
Реквизиты оплаты:





Голосование
Реклама от Google:
108 Часть II. Приложение идей
15.06.2012 02:52
|
Во второй команде echo три звездочки в начале аргумента заключены в кавычки и поэтому копируются сами по себе. Остаток аргумента представляет собой образец для поиска всех имен файлов, начинающихся с буквы от а до g, за которой следуют еще ровно 5 литер. Такому образцу соответствует единственное имя файла advice. Переадресация Мы уже встречались с использованием литеры > для переадресации вывода, например, cat >scores Если вы хотите добавить информацию в конец существующего файла, то следует использовать >> вместо >. Например, cat >>scores обеспечивает дозапись в конец файла scores. (Если файл scores уже не существует, то система создает новый файл с именем scores и действие знака >> в этом случае не отличается от действия >.) Можно переадресовать ввод, используя символ <; например, команда cat < existingfile вводит данные для cat из файла existingfile, а не со стандартного ввода. Вы можете, однако, набрать cat existingfile чтобы выполнить то же самое; поэтому переадресация ввода не позволяет cat делать что-либо, что она не в состоянии сделать сама по себе. То же самое относится к большинству других встроенных команд UNIX, и большинство людей, использующих переадресацию ввода, это те, кто разрабатывает свои собственные программы (см. гл. 12). Все переадресации выполняются оболочкой, а не ядром системы UNIX. В этом легко убедиться, набрав echo hello >t Оболочка отбрасывает >t от команды и просит команду echo выполнить свою задачу с аргументом hello. Та честно копирует hello в стандартный вывод, но оболочка перехватывает этот вывод и посылает его в файл t. Если вы затем выведете на дисплей файл t, то увидите, что он содержит текст hello, а не hello >t Так как оболочка отбрасывает инструкции переадресации, то, |