linux下的字符串比较

字符串比较

题目:字符串比较

运行以下命令:

# 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值