Wie kann ich einen Befehl über mehrere Zeilen in der Shell aufteilen, wenn der Befehl Teil einer if
Anweisung ist?
Das funktioniert:
if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1
fi
Das funktioniert nicht:
# does not work:
if ! fab --fabfile=.deploy/fabfile.py \
--forward-agent \
--disable-known-hosts deploy:$target; then
rc=1
fi
Anstatt den gesamten Befehl auszuführen, erhalte ich:
./script.sh: line 73: --forward-agent: command not found
Noch wichtiger ist, was fehlt in meinem Verständnis von Bash, das mir helfen wird, dieses und ähnliche Probleme in Zukunft zu verstehen?
\
? Sie sind ziemlich schwer zu sehen. In diesem Fall möchten Sie möglicherweise prüfen, ob Sie Ihren Editor dazu bringen können, nachgestellte Leerzeichen zu entfernen oder sie besser sichtbar zu machen.
$ if ! cp -n log/server1.log \ > .; then echo no copy; fi
ohne Fehler ausführen , mit einem Zeilenumbruch nach\