Альтернатива для оператора (I) канала

Я провел исследование на этом, нашел это, но оно не отвечает на мой вопрос.

Я знаю, что синтаксис expression1 | expression2 средства берут то, что результат expression1, и подайте его к expression2.

Теперь, семантически, это должно совпасть с expression2 expression1 - просто взять результат expression1 и предоставить его явно expression2 как аргумент. Однако это не работает.

В программировании, если Вы имеете print(2+4), сначала 2+4 вычисляется, и это затем печатается. Понятие кажется тем же здесь.. но нет. Кажется, что я не понимаю что-то довольно ясное. Любое хорошее разъяснение этого очень ценилось бы.

-1
задан 16 March 2020 в 22:34

1 ответ

Результатом и выводом являются различные понятия.

command1 | command2

Берет вывод command1 и подает его к входу command2.

command2 command1

Выполнения command2 с одним аргументом, строка "command1". Это - определенно не то же самое.

Канал может быть заменен Заменой Процесса и Перенаправлением, все же. Это, вероятно, что Вы вообразили:

command2 < <(command1)

< означает, "читает вход отсюда", и <(...) выполняет вложенную команду (команды) и создает "имя файла", которое может быть считано из.

3
ответ дан 17 March 2020 в 00:00

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

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