我有一个用户输入的脚本,REFRESH选项是可选的.我需要测试以查看$ REFRESH是否存在并且等于字符串"REFRESH",如果它然后运行特定的代码块.
用户将执行
./export_data.sh <user> <type> [REFRESH]
Run Code Online (Sandbox Code Playgroud)
如果我在PHP中这样做我会简单地使用isset()函数,在ksh中是否存在等价?
我尝试了以下但是这次失败,因为在第二次测试中没有设置$ REFRESH:
if [ -n $REFRESH ] && [ $REFRESH == "REFRESH" ]
then
echo "variable is set and the expected value";
# do stuff
fi
Run Code Online (Sandbox Code Playgroud)
我能想到的另一种方法是嵌套if但是这看起来很乱:
if [ -n $REFRESH ]
then
if [ $REFRESH == "REFRESH" ]
then
echo "variable is set and the expected value";
# do stuff
fi
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?