小编ame*_*mer的帖子

检查变量已设置,值为ksh

我有一个用户输入的脚本,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)

有一个更好的方法吗?

shell ksh

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

ksh ×1

shell ×1