设为首页 收藏本站
查看: 639|回复: 0

shell 单引号 双引号 不加引号

[复制链接]

尚未签到

发表于 2018-8-27 10:41:27 | 显示全部楼层 |阅读模式
  描述linux shell中单引号、双引号及不加引号的简单区别
  
  
  单引号:
  可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。
  双引号:
  把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。
  不加引号:
  不会将含有空格的字符串视为一个整体输出, 如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。
  实例演示:
  例1:
  [root@oldboy oldboy]# echo '`date`'
  #→单引号时看到啥就显示啥
  `date`
  [root@oldboy oldboy]# echo "`date`"
  #→双引号时如果里面是变量,会先把变量解析成具体内容在显示
  Sat Oct 29 18:02:59 CST 2011
  [root@oldboy oldboy]# echo `date`
  #→对于连续的字符串等内容一般不加引号也可,加双引号一般比较保险,推荐
  Sat Oct 29 18:03:08 CST 2011
  例2:
  [root@oldboy ~]# oldboy=testchars  #→创建一个变量
  [root@oldboy ~]# echo $oldboy   #→不加引号,显示一个变量解析后的内容
  testchars
  [root@oldboy ~]# echo '$oldboy'#→单引号,显示一个变量本身
  $oldboy
  [root@oldboy ~]# echo "$oldboy"#→双引号,显示一个变量内容,引号内可以是变量、字符串等
  testchars
  过滤字符串测试:
  [root@oldboy ~]# cat >grep.log
  testchars
  oldboy
  [root@oldboy ~]# cat grep.log
  testchars
  oldboy
  [root@oldboy ~]# grep "$oldboy" grep.log
  testchars
  [root@oldboy ~]# grep '$oldboy' grep.log
  [root@oldboy ~]# grep $oldboy grep.log
  testchars
  [ett@oldboy ~]$ cat >oldboy.log
  \"
  [ett@oldboy ~]$ cat oldboy.log
  \"
  [ett@oldboy ~]$  grep '\"' oldboy.log
  \"
  提示:有关单引号和双引号的区别详细内容请参考《老男孩linux运维实战培训-shell编程精讲》
  拓展:awk调用shell变量问题
  [ett@oldboy ~]$ ett=123
  [ett@oldboy ~]$ awk 'BEGIN {print '$ett'}'
  123
  [ett@oldboy ~]$ awk 'BEGIN {print "$ett"}'
  $ett
  [ett@oldboy ~]$ ett='abc'
  [ett@oldboy ~]$ awk 'BEGIN {print "$ett"}'
  $ett
  [ett@oldboy ~]$ awk 'BEGIN {print '$ett'}'
  [ett@oldboy ~]$ awk 'BEGIN {print "'$ett'"}'
  abc
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-557206-1-1.html 上篇帖子: shell脚本的调试 下篇帖子: shell grep sed awk 练习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表