老师,用$判断字符串是否为空这里有疑问

老师,用$判断字符串是否为空这里有疑问

http://img1.sycdn.imooc.com//climg/5f056b3209e58e1006190367.jpg

老师,这里$判断字符串中只有一个单词可以判断,但是中间加空格,隔开几个单词后就报错了,不能判断了怎么回事?

http://img1.sycdn.imooc.com//climg/5f056b7d0916a86504920177.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,在无引号的情况下,把内容输出出来,可能不会将含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引号。则同学可尝试在$str2处添加双引号。如下所示:

if [ "$str2" ]

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 慕九州8345213 提问者 #1
    嗯嗯,谢谢老师,我试了下可以了,也就是说这里的$str2其实是先被替换成了This is string后再进行非空判断的,所以要在外面包裹一层引号,让其是一个字符串整体,这样理解对吧
    2020-07-08 17:24:31
  • 好帮手慕小尤 回复 提问者 慕九州8345213 #2
    同学你好,是的,同学理解是正确的。继续加油!
    2020-07-08 18:00:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师