Angenommen, ich habe ein Skript, das ich an einen anderen Befehl weiterleiten oder in eine Datei umleiten möchte ( sh
für die Beispiele an). Angenommen, ich verwende bash.
Ich könnte es tun mit echo
:
echo "touch somefile
echo foo > somefile" | sh
Ich könnte auch fast dasselbe tun mit cat
:
cat << EOF
touch somefile
echo foo > somefile
EOF
Aber wenn ich "EOF" durch "EOF | sh" ersetze, denkt es nur, dass es ein Teil des Heredocs ist.
Wie kann ich dafür sorgen, dass der cat
Text von stdin ausgegeben und dann an eine beliebige Stelle weitergeleitet wird?
echo
- ich habe mich gefragt, was das Äquivalent dazu wäre cat
.
sh
Skript aus mehreren Zeichenfolgen erstellt und direkt an übergeben sh
. Ich habe festgestellt, dass Ihr Q die Textausgabe mehrerer Befehle, einschließlich eines HERE-Dokuments, direkt an einen Befehl übergeben möchte. Welches ist, was Ashs Antwort 2. Beispiel tut.
touch
ist es denn da, was genau willst du? wird nur die eingabedatei gelesen und mit stdout zu einer anderen umgeleitet?