Also habe ich herausgefunden, dass bash keine Ausnahmen behandelt (es gibt keine try/catch). Für mein Skript würde ich gerne wissen, ob ein Befehl erfolgreich war oder nicht. Kann jemand diese Versuch/Fang-Alternative in bash erklären?
Dies ist der Teil meines Codes jetzt:
command = "scp -p$port $user:[email protected]$host:$from $to"
$command 2>/dev/null
if (($? == 0)); then
echo 'command was successful'
else
echo 'damn, there was an error'
fi
Die Dinge, die ich nicht verstehe, sind:
- Linie 3, warum muss ich hinter die
$command
die2
setzen ? - Zeile 5, was genau ist es mit dieser
$
?
Wenn Sie beabsichtigen. Dies sind sehr grundlegende Details, und es gibt mehr so kleine Details, als Sie SO Fragen über schreiben können. – hyde
Was ist der Zweck der 'if ((...)); dann ... '? Ist 'cmd; wenn [$? == 0] ... 'grundlegend anders? – blong