Вот так выглядит часть моего сценария оболочки.
#! /bin/sh
sftp -i $IdentityFile $ServerAddress << EOF
command 1 #Execute in the remote
command 2 #Execute in the remote
bye
EOF
command 3 #Execute locally
Согласно моим текущим знаниям сценариев, если команда не выполняется, управление просто переходит к следующей команде. Но что, если команда sftp не сможет установить сетевое соединение в вышеуказанном блоке? Означает ли это, что command 1
и command 2
будут выполняться локально? Или управление перейдет к command 3
?
Как отловить возможную ошибку в sftp и направить управление на command 3
? И если это возможно, могу ли я обнаружить ошибку, используя переменную ?
, чтобы предпринять определенные упреждающие действия? Некоторое руководство будет отличным.