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


Базовые возможности командных интерпретаторов - часть 2


Символ канала | соединяет стандартный вывод команды <команда1> со стандартным вводом команды <команда2> и т.д.

Каждая команда выполняется в отдельном процессе, а состояние выхода последней команды будет являться состоянием выхода конвейера.

Примеры:

# ps -ax | more # ls -l | grep "profile"

Кроме конвейеров, команды могут объединяться в списки. Даже сами конвейеры могут быть объединены в списки. Это делается с помощью команд ; && .

Команда ; просто последовательно выполняет оду команду или конвейер за другой (другим): # make depend ; make ; make install # cat /etc/passwd | grep root ; echo "User root"

Для того, чтобы управлять выполнением следующей команды в списке в зависимости от состояния выхода предыдущей, используются команды && (логическое И) и (логическое ИЛИ).

Примеры:

# mkdir mydir && cd mydir

В этом случае команда cd mydir будет выполнена только в том случае, если успешно (состояние выхода равно 0) завершится команда mkdir mydir. # cat /home/bob/.profile echo "Нет файла .profile"

В этом случае либо на экран будет выведено содержимое файла /home/bob/.profile, либо сообщение о том, что такого файла нет.




- Начало -  - Назад -  - Вперед -