перенаправление выходных команд с использованием '- & lt; & lt; (& hellip;) '

Пусковая установка Unity появляется только на основном мониторе. Вы можете настроить мониторы в приложении «Мониторы» (доступно из Dash), чтобы соответствующим образом перенастроить ваши мониторы.

1
задан 10 July 2016 в 23:42

1 ответ

Конструкция <( COMMAND ) Bash называется подстановкой процесса.

Она вычисляет внутри COMMAND внутри и перенаправляет свой вывод на FIFO, именованный канал, который получает дескриптор виртуального файла внутри /dev/fd , Он работает как временный файл, содержащий вывод оцененной команды.

Конструкция < Bash называется заменой процесса . [!d4 ]

Он принимает дескриптор файла с правой стороны и перенаправляет его содержимое на STDIN (стандартный ввод) команды слева.

- не является конструкцией Bash, а аргументом для sed, который указывает его входной файл. Специальное значение - означает чтение из STDIN (который также является sed по умолчанию, поэтому его можно опустить).

sed 's/^.*= //' - < <(openssl dgst -sha256 filename)

Эта строка сначала запускается openssl dgst -sha256 filename и кэширует свой вывод в FIFO. Дескриптор файла, представляющий этот именованный канал, рассматривается как входной файл, который перенаправляется на STDIN sed 's/^.*= //' -. Эта команда sed считывает из STDIN и удаляет каждый символ перед символом «=», за которым следует пробел.

6
ответ дан 23 May 2018 в 08:18

Другие вопросы по тегам:

Похожие вопросы: