美文网首页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