sehe ich bin mitLassen DEBUG Bash Falle Rohr als ein Befehl
trap 'echo -e "\e[92m$ $BASH_COMMAND\e[0m"' DEBUG
in einem Bash-Skript jeden Befehl zu drucken, die ausgeführt wird.
Dies funktioniert gut, außer dass es druckt zwei Befehle, wenn ich Rohr sie zusammen:
bzip2 -dc < dump.sql.bz2 | mysql test
Drucke:
$ bzip2 -dc < dump.sql.bz2 $ mysql test
Kann ich jede Änderung an der trap
oder machen die Linie mit dem Rohr, so dass die Linie als eine gedruckt wird?
Hat bash * müssen * über die Pipeline wissen? Kann ich die Rohrleitung nicht an irgendeine Art von Werkzeug delegieren, so dass es aus der Sicht von bash ein einziger Befehl ist? – AndreKR
Sie können die Pipeline in eine _function_ platzieren, und dann wird der Aufruf dieser Funktion ein Befehl _simple_ aus Bashs Perspektive sein - aber das wird auch die tatsächliche Pipeline von Ihnen verbergen. – mklement0
Es akzeptiert keine Dateinamen, aber 'mysql test <<(bzip2 -dc
AndreKR