Допустим, у меня есть сценарий, который я хочу передать по конвейеру другой команде или перенаправить в файл ( sh
для примера приведен конвейер ). Предположим, что я использую Bash.
Я мог бы сделать это используя echo
:
echo "touch somefile
echo foo > somefile" | sh
Я также мог бы сделать почти то же самое, используя cat
:
cat << EOF
touch somefile
echo foo > somefile
EOF
Но если я заменю «EOF» на «EOF | sh», он просто подумает, что это часть heredoc.
Как я могу сделать так, чтобы cat
выводить текст из стандартного ввода, а затем направить его в произвольное место?
echo
- мне было интересно, что будет использовать эквивалент этого cat
.
sh
сценария из нескольких строк и передача его напрямую sh
. Я обнаружил, что ваш Q ищет передачу текстового вывода нескольких команд, включая документ HERE, непосредственно в команду. Вот что делает ответ Эша во втором примере.
touch
разве там, что именно вы хотите? просто прочитать входной файл и перенаправить на другой с помощью stdout?