Может ли кто-нибудь объяснить это поведение? Продолжительность:
#!/bin/sh
echo "hello world" | read var1 var2
echo $var1
echo $var2
приводит к тому, что ничего не происходит, а:
#!/bin/sh
echo "hello world" > test.file
read var1 var2 < test.file
echo $var1
echo $var2
выводит ожидаемый результат:
hello
world
Должен ли труба сделать за один шаг то, что перенаправление на test.file произошло во втором примере? Я пробовал один и тот же код как с тире, так и с оболочками bash и получил одинаковое поведение от обоих.