当前位置: 首页 > 面试题库 >

[:shell编程中意外的运算符

仲孙善
2023-03-14
问题内容

我的代码

    #!/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

但是当我执行

    sh ./choose.sh

终端提示我

   [: 4: n: :Unexpected operator
   [: 5: n: :Unexpected operator

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


问题答案:

您的 bash 脚本没有任何错误。但是您正在使用 sh 来执行它, sh的 语法不太广泛;)

因此,bash ./choose.sh改为运行:)



 类似资料:
  • 本文向大家介绍Shell脚本编程中常用的数学运算实例,包括了Shell脚本编程中常用的数学运算实例的使用技巧和注意事项,需要的朋友参考一下 这部分主要讨论数学相关的shell脚本编程。 加法运算 新建一个文件“Addition.sh”,输入下面的内容并赋予其可执行的权限。 输出结果: 减法运算 注意:这里我们没有像上面的例子中使用“expr”来执行数学运算。 输出结果: 乘法运算 输出结果: 除法

  • 问题内容: 我有时会从下面的行中得到。 添加括号后,就可以了。 请澄清我的行为。提前致谢。 问题答案: 永远不会为null,尽管有时是。 也就是说,等同于总是如此。

  • 问题内容: 我正在尝试编写一种获取a的方法,以验证数字是否在点后有东西,如果有,则返回a ,如果没有则返回a 。 输出: 因此,我想要的一切都发生在method中,但没有发生在method中。这些方法似乎必须完成相同的工作。但是我做错了什么? 问题答案: 正如其他答案所指出的,此行为是因为三元表达式的两个可能结果都必须具有相同的类型。 因此,您要做的所有事情都可以使三元版本的工作方式与将强制转换为

  • 1. Shell 运算符概述 1.1 Shell 运算符是什么 与其他语言一样,Shell 也有运算符,在 Shell 中其根据类型不同也有不少运算符分类,那么什么是运算符呢?例如大家都知道在算术运算中的加减乘除,+ 就是我们 Shell 中的算术运算符的一种,当然还有很多其他的功能各异的运算符,作为条件判断与算术操作等重要功能,构成了 Shell 中的基本元素。 1.2 为什么要用运算符 当我们

  • 问题内容: 我遇到了一个shell脚本,其中的代码是 什么是使用在这种情况下? 问题答案: 等于Tilde运算符允许在if语句中使用正则表达式。 可以使用附加的二进制运算符=〜,其优先级与==和!=相同。使用它时,运算符右边的字符串被视为扩展的正则表达式,并进行了相应的匹配(如regex(3)中一样)。如果字符串与模式匹配,则返回值为0,否则为1。如果正则表达式在语法上不正确,则条件表达式的返回值