在 case else 语句中终止 bash 脚本

在 case else 语句中终止 bash 脚本

我正在尝试写一个脚本。在脚本的开头,我希望它检查互联网连接,然后继续,否则脚本应该停止并显示消息“请检查您的互联网”。我是 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"不存在。没有更多警告报告外壳检查

相关内容