Quindi ho scoperto che bash non gestisce le eccezioni (non c'è try/catch). Per il mio script, vorrei sapere se un comando ha avuto successo o meno.Qualcuno potrebbe spiegare questa alternativa try/catch in bash?
questa è la parte del mio codice in questo momento:
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
Le cose che non capisco sono:
- linea 3, perché devo mettere la
2
dietro la$command
? - riga 5, che cosa è esattamente con questo
$
?
Se avete intenzione di fare script bash, google "sh tutorial" o "tutorial di bash", o per ulteriori hard-core approacb 'man bash'. Questi sono dettagli molto basilari, e ci sono molti più piccoli dettagli di quelli che puoi scrivere QUINDI domande su .. – hyde
Qual è lo scopo di 'if ((...)); allora ... '? È 'cmd; se [$? == 0] ... 'fondamentalmente diverso? – blong