Ich möchte manchmal den Inhalt einer Pipe in der Mitte ausgeben (nicht wir alle?).wierdness mit tee: kann jemand erklären?
ich tun es in der Regel wie folgt aus (ja, ich weiß, es gibt andere, wahrscheinlich besser, Wege):
terminal=$(tty)
echo hello world |tee $terminal|awk '{print $2, $1}'
die Ausgänge
hello world
world hello
Welche fein und in jeder Hinsicht schön.
Außer, dass ich wirklich gerne tun würde, ohne die $ Terminal-Variable zu erstellen. Einfach, sagen Sie, ersetzen Sie einfach "tee $terminal
" durch "tee $(tty)
" in der Leitung, und keine Notwendigkeit für eine Variable? Recht?
Falsch.
echo hello world |tee $(tty)|awk '{print $2, $1}'
Ausgänge
world hello
Mit anderen Worten, hat meine Ausgabe von der Mitte des Rohres geschluckt worden.
Jetzt akzeptiere ich, dass dies definitiv ein Problem der ersten Welt ist, aber es ärgert mich und ich würde gerne wissen, warum die zweite Lösung nicht funktioniert.
Jeder?
+1 für „erstes Weltproblem“ und eine gute Frage. – tripleee