Bash

  • Спецсимволы в последовательности команд оболочки Bash Linux

    Ниже приведены различные формы команд, допустимые в оболочке 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)