Katakanlah saya memiliki skrip yang ingin saya pipekan ke perintah lain atau redirect ke file (piping ke sh
untuk contoh). Asumsikan saya menggunakan bash.
Saya bisa melakukannya dengan menggunakan echo
:
echo "touch somefile
echo foo > somefile" | sh
Saya juga bisa melakukan hal yang hampir sama menggunakan cat
:
cat << EOF
touch somefile
echo foo > somefile
EOF
Tetapi jika saya mengganti "EOF" dengan "EOF | sh" itu hanya berpikir bahwa itu adalah bagian dari heredoc.
Bagaimana saya bisa membuatnya sehingga cat
mengeluarkan teks dari stdin, dan kemudian mengirimnya ke lokasi yang sewenang-wenang?
echo
- Saya bertanya-tanya apa yang setara akan menggunakan cat
.
sh
skrip dari banyak string dan meneruskannya langsung ke sh
. Saya menemukan Q Anda mencari lewat keluaran teks dari beberapa perintah, termasuk dokumen DI SINI, langsung ke perintah. Itulah yang dilakukan oleh contoh kedua jawaban Ash.
touch
adalah kecuali di sana, apa yang sebenarnya Anda inginkan? baru saja membaca file input dan mengarahkan ke yang lain dengan stdout?