美文网首页Linux与后台开发归档
[Shell]IF语句比较时的一个坑,不要强制把数字变量加引号为

[Shell]IF语句比较时的一个坑,不要强制把数字变量加引号为

作者: _小老虎_ | 来源:发表于2018-10-10 23:16 被阅读1次

    今天一个离线shell脚本某个比较环节不生效,查了一下问题
    如下:

    if [[ "${code}" = "403" || ... ]] ; then
     echo "balabala..."
    fi
    

    一直不生效,就算赋值 code=403也是, 之后打印

    set -x
    

    之后发现是

    + [[ 403 = \4\0\3 || ... ]]
    

    去掉引号之后就OK了

    • 总结,应该是bash里对于字符串中的字符都做了强转义,最终导致这个问题

    相关文章

      网友评论

        本文标题:[Shell]IF语句比较时的一个坑,不要强制把数字变量加引号为

        本文链接:https://www.haomeiwen.com/subject/bxcvaftx.html