Я хочу перенаправить (stdout, stderr) из одного процесса в (stdin, файловый дескриптор 3) другого. Как я могу это сделать?
Например, если у меня есть myscript.sh
:
#!/bin/sh
# myscript.sh
echo "stdout"
echo "stderr" >&2
И reader.sh
:
#!/bin/sh
# reader.sh
read key
echo "stdin: $key"
read key <&3
echo "fd3: $key"
Как передать вывод myscript.sh
в reader.sh
так, чтобы окончательный вывод был:
stdin: stdout
fd3: stderr
Самое близкое, что я получил, это:
./myscript.sh 2>&3 | ./reader.sh
Но это зависает в ожидании ввода (из fd 3)