Bash if语句行为
发布时间:2020-12-15 19:01:04 所属栏目:安全 来源:网络整理
导读:我遗漏了关于bash的if构造/运算符或字符串比较的基本内容. 请考虑以下脚本: #!/bin/bashbaseSystem="testdir1"testme="NA"if [ "$baseSystem"=="$testme" ]; then echo "In error case"fiif [ "$baseSystem"!="$testme" ]; then echo "In error case"fi 我
我遗漏了关于bash的if构造/运算符或字符串比较的基本内容.
请考虑以下脚本: #!/bin/bash baseSystem="testdir1" testme="NA" if [ "$baseSystem"=="$testme" ]; then echo "In error case" fi if [ "$baseSystem"!="$testme" ]; then echo "In error case" fi 我明白了: In error case In error case 因此它进入每个案例,即使它们应该是互相排斥的.
bash碰巧对空间有点特别.
在运算符周围添加空格: if [ "$baseSystem" == "$testme" ]; then ... if [ "$baseSystem" != "$testme" ]; then 以下不相同: [ "$a"="$b" ] [ "$a" = "$b" ] 你的第一次测试基本上与说“[testdir1 == NA”]相同;那将永远是真的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |