Więc dowiedziałem się, że bash nie obsługuje wyjątków (nie ma try/catch). Dla mojego skryptu chciałbym wiedzieć, czy polecenie się powiodło, czy nie.Czy ktoś mógłby wytłumaczyć tę alternatywę try/catch w bash?
To jest część mojego kodu teraz:
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
Rzeczy, których nie rozumiem to:
- linia 3, dlaczego muszę umieścić
2
Za$command
? - linia 5, co to dokładnie jest z tym
$
?
Jeśli zamierzasz zrobić bash włączony, google "samouczek SH" lub "bash samouczek", lub dla bardziej hard-core approacb 'man bash'. Są to bardzo podstawowe szczegóły i jest więcej takich drobnych szczegółów, niż można napisać SO pytania dotyczące .. – hyde
Jaki jest cel 'if ((...)); wtedy ... '? Czy jest 'cmd; jeśli [$? == 0] ... "zasadniczo różnią się od siebie? – blong