Как я перенаправляю вывод команды, например, 'отзываются эхом Привет' к выводу другой команды, которая возвращает путь, например, 'tty' (который возвращается,/dev/pts/1)?

Как я перенаправляю вывод команды, например. echo Hi к выводу другой команды, которая возвращает путь, например. tty (который возвращается, /dev/pts/1) не имея необходимость к вставке копии вывод к команде как это:

echo Hi > /dev/pts/1 | 
0
задан 9 April 2019 в 02:58

1 ответ

Ключевое слово является заменой команды. Вы по существу хотите перенаправление как

$ echo Hi > PROGRAM

Но где ПРОГРАММА заменяется (замененная) ее собственным выводом. Это что $() синтаксис делает в Вашем случае

$ echo Hi > $(tty)

Сначала выполняется tty, затем получает вывод (/dev/pts/1 в этом случае), и замены $(tty) с ним перед выполняющейся остальной частью строки, т.е. перенаправления эха там.

Можно найти больше информации, включая некоторые технические детали, которые могут стать релевантными в других контекстах, здесь и в проекте документации Linux. Бывшие покрытия суть, последний более богат деталями и имеет примеры, но по моему скромному мнению немного тяжелее читать. Обратите внимание, что проект документации Linux использует старомодный синтаксис обратной галочки. Необходимо придерживаться с $(PROGRAM), так как это легче к вложенному множеству.

6
ответ дан 25 October 2019 в 06:41

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

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