Ниже приведены различные формы команд, допустимые в оболочке Bash операционной системы Linux.
cmd & | Выполнить указанную команду cmd в фоновом режиме |
{ cmd1 ; cmd2 ; } | Выполнить указанные команды группой в текущей оболочке |
( cmd1 ; cmd2 ; ) | Выполнить указанные команды группой в подоболочке |
cmd1 | cmd2 | Передать выход из команды cmd1 по каналу на входкоманды cmd2 |
cmd1 `cmd2` | Произвести подстановку команд. В частности, использовать результат, выводимый из команды cmd2 ,в качестве аргумента команды cmd1 |
cmd1 $ ( cmd2) | Произвести подстановку команд по стандарту POSIX. Допускается вложение |
cmd $ ( (выражение) ) | Произвести арифметическую подстановку по стандарту POSIX. В частности, использовать числовой результат вычисления заданного выражения в качестве аргумента указанной команды cmd |
cmd1 && cmd2 | Выполнить логическую операцию И. В частности, выполнить сначала указанную команду cmd1 , а затемкоманду cmd2 при удачном исходе выполнениякоманды cmd1 . Это "укороченная" форма логическойоперации, при которой команда cmd2 вообще невыполняется при неудачном исходе выполнения команды cmd1 |
cmd1 || cmd2 | Выполнить логическую операцию ИЛИ . В частности , выполнить указанную команду cmd1 , а при неудачном исходе ее выполнения - команду cmd2 .Это "укороченная · форма логической операции , при которой команда cmd2 вообще не выполняется приудачном исходе выполнения команды cmd1 |
! cmd | Выполнить логическую операцию НЕ. В частности, выполнить указанную команду cmd и выдать нулевойкод завершения, если выполнение команды cmd завершится ненулевым кодом. В противном случае выдать ненулевой код завершения , если выполнение команды сmd завершится нулевым кодом |
Примеры применения спецсимволов в командах Bash
# Выполнить указанные команды в фоновом режиме
$ nroff file > file . txt &
# Выполнить указанные команды последовательно
$ cd ; ls
# Переадресовать все выводимые результаты
$ (date ; who ; pwd) > logfile
# Отсортировать файл , подготовить, а затем произвести
# постраничный вывод полученных результатов
$ sort file | pr -З | lpr
# Отредактиро вать файлы , обнаруженные командой grep
$ gvim `grep -1 ifdef *.срр`
# Указать список искомых файлов
$ egrep '(yeslno)' `cat list`
# Версия предыдущей формы команды по стандарту POSIX
$ egrep '(yeslno)' $(cat list)