linux下的字符串比较

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/shuai0845/article/details/86532142

字符串比较

题目:字符串比较

运行以下命令:

# str1="hello world"
# [ $str1 = "hello world" ] && echo 1 || echo 0

原来以为会输出1,结果却输出0,请问什么原因?

运行以下命令:

# str2="jerry"
# [ $str2=="tom" ] && echo 1 || echo 0

原来以为会输出0,结果却输出1,请问什么原因?

答案:

  1. 对于字符串测试的时候,一般应该将字符串变量加双引号之后再进行比较,否则如果字符串中含有空格等字符则会出现语法错误。所以该题应该这样写:
# str1="hello world"
# [ "$str1" = "hello world" ] && echo 1 || echo 0 
# 1
  1. 字符串测试,可以使用===!=来比较两个字符串相同或不同,但应注意比较符号两端一定要加空格,否则判断会出现逻辑错误——即使语法没问题,但判断结果依然可能不正确。所以该题应该这样写:
# str2="jerry"
# [ $str2 == "tom" ] && echo 1 || echo 0
# 0

猜你喜欢

转载自blog.csdn.net/shuai0845/article/details/86532142
今日推荐