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

shell中的单引号'' 双引号"" 反引号``

[复制链接]

尚未签到

发表于 2018-8-30 10:14:56 | 显示全部楼层 |阅读模式
  引号
  在shell中引号分为三种:单引号,双引号和反引号。
  单引号 ‘
  由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。例如:
  $ string=’$PATH’
  $ echo $string
  $PATH
  $
  可见$保持了其本身的含义,作为普通字符出现。
  双引号 “
  由双引号括起来的字符,除$、`、'、和"这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。对于$来说,就是用其后指定的变量的值来代替这个变量和$;对于而言,是转义字符,它告诉shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。可以想见,在双引号中需要在前面加上的只有四个字符$,`,'和"本身。而对”号,若其前面没有加,则Shell会将它同前一个”号匹配。
  例如,我们假定PATH的值为.:/usr/bin:/bin,输入如下命令:
  $ TestString=”$PATH\”$PATH”
  $ echo $TestString
  .:/usr/bin:/ bin”$PATH
  $
  反引号 `
  反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。例如:
  $ pwd
  /home/xyz
  $ string=”current directory is `pwd`”
  $ echo $string
  current directour is /home/xyz
  $
  shell执行echo命令时,首先执行`pwd`中的命令pwd,并将输出结果/home/xyz取代`pwd`这部分,最后输出替换后的整个结果。
  利用反引号的这种功能可以进行命令置换,即把反引号括起来的执行结果赋值给指定变量。例如:
  $ today=`date`
  $ echo Today is $today
  Today is Mon Apr 15 16:20:13 CST 1999
  $
  反引号还可以嵌套使用。但需注意,嵌套使用时内层的反引号必须用反斜线()将其转义。例如:
  $ abc=`echo The number of users is `who| wc-l``
  $ echo $abc
  The number of users is 5
  $
  在反引号之间的命令行中也可以使用shell的特殊字符。Shell为得到``中命令的结果,它实际上要去执行``中指定的命令。执行时,命令中的特殊字符,如$,”,?等又将具有特殊含义,并且``所包含的可以是任何一个合法的Shell命令,如:
  $ ls
  note readme.txt Notice Unix.dir
  $ TestString=”`echo $HOME ` ` ls 〔nN〕*`”
  $ echo $TestString
  /home/yxz note Notice
  $


运维网声明 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-558795-1-1.html 上篇帖子: shell数字和字符串比较 下篇帖子: shell中的 $$ $! $? $0 等特殊用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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