スクリプトを作成しようとしています。スクリプトの冒頭でインターネット接続を確認し、続行します。それ以外の場合は、「インターネットを確認してください」というメッセージでスクリプトを停止する必要があります。私はbashプログラミングに最初に触れたので、ここで「if-then-else」または「while」を使用する必要があるかどうかわかりません。これは私のスクリプトです。
#!/bin/bash
if
ping -c 1 google.com >& /dev/null
then
echo "INTERNET IS WORKING..."
else
echo "PLEASE CHECK YOUR INTERNET!"
fi
cd $HOME/download
pwd
このスクリプトで "if"ステートメントが失敗し、スクリプトが "else"ステートメントを実行している場合は、 "cd $HOME/download"と "pwd"を実行しなくてもスクリプトを停止したいと思います。
このスクリプトでこれをどのように実行できますか?
答え1
#!/bin/bash
if ping -c 1 google.com >& /dev/null
then
echo "INTERNET IS WORKING..."
else
echo "PLEASE CHECK YOUR INTERNET!" >&2
exit 1
fi
cd "$HOME/download" || exit 2
pwd
私も変わった
echo "PLEASE CHECK YOUR INTERNET!"
エラーメッセージを標準エラーとして出力し、
cd $HOME/download
到着
cd "$HOME/download" || exit 2
失敗した場合は終了しますcd
。たとえば、"$HOME/download"
存在しないからです。これ以上警告は報告されません。住宅検査。