小编kit*_*ang的帖子

[:shell编程中的意外操作符

我的代码:

    #!/bin/sh
    #filename:choose.sh
    read choose
    [ "$choose" == "y" -o "$choose" == "Y" ] && echo "Yes" && exit 0
    [ "$choose" == "n" -o "$choose" == "N" ] && echo "No"  && exit 0
    echo "Wrong Input" && exit 0
Run Code Online (Sandbox Code Playgroud)

但是当我执行时

    sh ./choose.sh
Run Code Online (Sandbox Code Playgroud)

终端提示我

   [: 4: n: :Unexpected operator
   [: 5: n: :Unexpected operator
Run Code Online (Sandbox Code Playgroud)

我的bash脚本有什么错误吗?谢谢!

linux bash shell

173
推荐指数
6
解决办法
17万
查看次数

关键字"if"如何测试值是否为false?

在bash脚本中

if [ 1 ]
then
   echo "Yes"
else
   echo "No"
fi
Run Code Online (Sandbox Code Playgroud)

输出: Yes

它表示'1'被视为真值.

但在代码中:

word = Linux
letter = nuxi
if echo "$word" | grep -q "$letter"
then
    echo "Yes"
else
    echo "No"
fi
Run Code Online (Sandbox Code Playgroud)

输出:没有

但是No会返回1,为什么结果是否

关键字如何echo "$word" | grep -q "$letter"测试命令返回的值后No

bash shell ubuntu

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

标签 统计

bash ×2

shell ×2

linux ×1

ubuntu ×1