メールを送信することなく、ループの外に壊しbashスクリプトは、私はbashの中の小さなスニペットを持って
retries = 3
for ((i=0; i<retries; i++)); do
curl -1 --cipher ALL --connect-timeout 90 -T $zip_name ftps://ftp.box.com/Backup/$zip_name --user [email protected]:§fHyFSDF$o6
[[ $? -eq 0 ]] && break
echo "something went wrong, let's wait 6 seconds and retry"
sleep 6
done
[[ $retries -eq i ]] && { echo "This email is a notification of Failure" | mail -s "Failed" "[email protected]" ; exit 1; }
カールエラーがアップし、それが来るので、もし、カールをやってエラーが発生した場合は、上記のループが3回を再試行する必要があります電子メールにメールする必要があります。しかし、それをテストするために私は、ユーザーのアクセスを取り消すので、私は、電子メールを期待したが、これは動作しませんでしたし、私は、コンソール上で、次の受信:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
curl: (9) Server denied you to change to the given directory
なぜコードの断線があればアクセスした場合、最初の試みであります構文場合は、サーバー
https://www.gnu.org/software/bash/manual/html_node/Quoting.html#Quoting – hek2mgl
@ hek2mglあなたは何を言いたいのか詳しく説明できますか? ? – Kittystone
私は、(a)変数と(b)特殊文字を含む文字列を引用する必要があると言いました。あなたのコードに引用符は見えません。 – hek2mgl