J'essaie d'écrire un script Bash chargé de créer un dossier sur un serveur distant.
Snippet :
!/bin/bash -e
echo "Creating remote folder."
echo mkdir test_folder | sftp -oPort=22 192.168.0.11:/tmp
if [[ $? != 0 ]]; then
echo "Transfer failed!"
exit 1
else
echo "Transfer complete."
fi
echo $?
La sortie est :
Connected to 192.168.0.11.
Changing to: /tmp
sftp> mkdir test_folder
Couldn't create directory: Failure
Transfer complete.
0
Le code de retour est donc de 0, mais il y a manifestement eu une erreur.
Comment puis-je attraper l'erreur à distance et définir un code de retour approprié dans le script ?