我正在尝试使用“ if”和“ OR”执行两个字符串比较

鲁阿里·布什(Ruari Bush)

我是bash的新手,我正在尝试使用or语句进行两个字符串比较。谁能告诉我我哪里出问题了?

    echo $DEVICETYPE
    FILEHEADER=ANDROID
    if [[ "$DEVICETYPE" == "iPad" ] || ["$DEVICETYPE" == "iPhone" ]];
        then
            $FILEHEADER = IOS
    fi
    echo $FILEHEADER

的iPad

安卓

迈克尔·佩奇

正如其他人提到的那样,我应该指出这一点是为了完整性。该声明:

echo $FILEHEADER = IOS

将仅打印出FILEHEADER紧随其后变量的内容= IOS这不会做分配。分配是通过变量名如下进行的,不带变量$请注意,周围没有空格=在您的示例中,它应该是:

FILEHEADER=IOS

关于表达式您的代码:

if [[ "$DEVICETYPE" == "iPad" ] || ["$DEVICETYPE" == "iPhone" ]];

可以替换为:

if [ "$DEVICETYPE" == "iPad" ] || [ "$DEVICETYPE" == "iPhone" ];

您需要卸下外部支架。同样,必须进行微妙的更改。你有["$DEVICETYPE"你需要后加一个空格[所以就成了[ "$DEVICETYPE"如果要对逻辑表达式进行分组,则可以使用括号,这样就可以用这种方式编写(尽管它不会更改此示例的语义):

if ([ "$DEVICETYPE" == "iPad" ] || [ "$DEVICETYPE" == "iPhone" ]);

如果您只针对bash,则以下更自然的表达方式。不幸的是,这种形式可能无法在其他shell中使用(它的可移植性较差):

if [[ $DEVICETYPE == "iPad" || $DEVICETYPE == "iPhone" ]];

如果您担心运算符优先级,可以随时通过以下方式进行说明:

if [[ ($DEVICETYPE == "iPad") || ($DEVICETYPE == "iPhone") ]];

尽管没有问到,但可能有价值的是认识到可以使用通配符星号(*)来检查以iPhone或iPad开头的任何内容,如本例所示:

if [[ ($DEVICETYPE == "iPad"*) || ($DEVICETYPE == "iPhone"*) ]];

因此,如果DEVICETYPEisiPhone 2iPhone2oriPad Mini那么它们也将全部匹配。星号表示与任何其他字符匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用angular js比较两个字符串而不考虑小写和大写

来自分类Dev

使用Python和XML路径添加两个字符串的值

来自分类Dev

为什么我不能使用jQuery的.keypress()、. keydown()和.keyup()事件正确比较两个字符串?

来自分类Dev

比较两个字符串的重复项和字符串位置

来自分类Dev

如何使用Bash和标准实用程序确定两个字符串之间的行数?

来自分类Dev

使用regexp在Robot Framework中用星号替换除前两个和后两个字符以外的字符串字符

来自分类Dev

用==和strcmp比较两个字符串

来自分类Dev

比较两个字符串的每个字符。新的和寻找输入

来自分类Dev

如何使用正则表达式将字符串“ {{key.value}}”拆分为两个字符串“ key”和“ value”?

来自分类Dev

为什么在尝试比较两个字符串时出现分段错误?

来自分类Dev

C:如何比较两个字符串并找到我需要的单词?

来自分类Dev

在Ruby中使用>(大于符号)比较两个字符串?

来自分类Dev

使用perl正则表达式比较两个字符串

来自分类Dev

比较PHP中两个字符串中单词的使用

来自分类Dev

使用string.equals比较Java中的两个字符串数组

来自分类Dev

使用IEnumerable比较两个字符串

来自分类Dev

使用JavaScript中的if条件在for循环中比较两个字符串

来自分类Dev

使用strcmp比较两个字符串的问题

来自分类Dev

使用arraylist比较两个字符串数组

来自分类Dev

在Ruby中使用>(大于符号)比较两个字符串?

来自分类Dev

如何在jsp页面内使用if条件比较两个字符串?

来自分类Dev

如何使用if语句与两个字符串进行比较?

来自分类Dev

使用string.equals比较Java中的两个字符串数组

来自分类Dev

如何使用 Perl 比较两个字符串

来自分类Dev

为什么我可以将两个字符串与“ ==”而不是两个字符数组进行比较?

来自分类Dev

使用正则表达式替换两个字符串之间的字符,同时忽略 html 标签和换行符

来自分类Dev

PHP使用通配符方法将两个字符不同的两个字符串进行比较

来自分类Dev

尝试使用Ajax和一个接收两个字符串的外部PHP文件发布内容时,为什么我的表单不能正常工作?

来自分类Dev

使用正则表达式获取两个字符串“ $”和“;”之间的任何内容 而不以'//'开头

Related 相关文章

  1. 1

    如何使用angular js比较两个字符串而不考虑小写和大写

  2. 2

    使用Python和XML路径添加两个字符串的值

  3. 3

    为什么我不能使用jQuery的.keypress()、. keydown()和.keyup()事件正确比较两个字符串?

  4. 4

    比较两个字符串的重复项和字符串位置

  5. 5

    如何使用Bash和标准实用程序确定两个字符串之间的行数?

  6. 6

    使用regexp在Robot Framework中用星号替换除前两个和后两个字符以外的字符串字符

  7. 7

    用==和strcmp比较两个字符串

  8. 8

    比较两个字符串的每个字符。新的和寻找输入

  9. 9

    如何使用正则表达式将字符串“ {{key.value}}”拆分为两个字符串“ key”和“ value”?

  10. 10

    为什么在尝试比较两个字符串时出现分段错误?

  11. 11

    C:如何比较两个字符串并找到我需要的单词?

  12. 12

    在Ruby中使用>(大于符号)比较两个字符串?

  13. 13

    使用perl正则表达式比较两个字符串

  14. 14

    比较PHP中两个字符串中单词的使用

  15. 15

    使用string.equals比较Java中的两个字符串数组

  16. 16

    使用IEnumerable比较两个字符串

  17. 17

    使用JavaScript中的if条件在for循环中比较两个字符串

  18. 18

    使用strcmp比较两个字符串的问题

  19. 19

    使用arraylist比较两个字符串数组

  20. 20

    在Ruby中使用>(大于符号)比较两个字符串?

  21. 21

    如何在jsp页面内使用if条件比较两个字符串?

  22. 22

    如何使用if语句与两个字符串进行比较?

  23. 23

    使用string.equals比较Java中的两个字符串数组

  24. 24

    如何使用 Perl 比较两个字符串

  25. 25

    为什么我可以将两个字符串与“ ==”而不是两个字符数组进行比较?

  26. 26

    使用正则表达式替换两个字符串之间的字符,同时忽略 html 标签和换行符

  27. 27

    PHP使用通配符方法将两个字符不同的两个字符串进行比较

  28. 28

    尝试使用Ajax和一个接收两个字符串的外部PHP文件发布内容时,为什么我的表单不能正常工作?

  29. 29

    使用正则表达式获取两个字符串“ $”和“;”之间的任何内容 而不以'//'开头

热门标签

归档