免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2704 | 回复: 0
打印 上一主题 下一主题

引用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-13 14:17 |只看该作者 |倒序浏览
  
                  - 空格
                  - 回车
                  - $
                  - #
                  - *
                  -  
            在unix系统中,许多特殊字符对shell来说都有特殊含义,例如,空格是命令和参数的分割符。回车会发送给shell执行命令的信号,$符号被用来显示与变量名相关联的值。
            在一些特殊的情况下,你不想要shell去解释这些特殊字符的特殊含义。你只要求字面上的意义。因此,unix必须提供一种机制来忽略或消除一个指定的字符的含义。这种机制就叫做引用。
            8.2 引用符号
            反斜杠 \
            单引号 ‘
            双引号 “
            反斜杠消除紧跟在它后面的特殊字符的特殊意义。
            单引号(’)会消除特殊字符的特殊含义。在单引号包围之中的所有的特殊字符的特殊含义都会被忽略。单引号不能被忽略,它要被用来关闭被引用的字符串。
            双引号(”)的包容性要差一点,大多数的字符都可以使用双引号来去除特殊含义。只有$符号(当其被用来作为变量和命令替代的时候),和反斜杠例外。你可以在双引号中使用反斜杠来除掉 $号的特别含义
            8.3 引用-- \
                  语法:
                  \ ??除去下一个字符的特别含义
                  例子:
                  $ echo the \ \ escapes the next character
                  the \ escapes the next character
                  $ color=red\ white\ and\ blue
                  $ ehco the value of \ $ colore is $color
                  the value of $colore is red white and blue
                  $ echo one two \
                  >three four
                  one two three four
            反斜杠会忽略下一个特殊字符的特殊含义。没有任何的例外。
            8.4 引用-‘
                  语法:
                  ‘ ???除去包括在单引号中的所有字符的特殊含义。
                  例子:
                  $ color =’red white and blue’
                  $ echo ‘the value of \$colore is $colore’
                  the value of $color is $color
                  $ echo ‘the value of $color is ‘ $color
                  the value of $color is red whie and blue
                  $ echo ‘this doesn’t work’
                  >ctrl + c
                  $ echo ‘***************”
                  *************
            单引号会去除所有的包含在其中的特殊字符的特别含义。
            8.5 引用 - “
                  “ ???去除包含在其中的特殊字符的特别含义,但\,$,和 “除外。
                  例子:
                  $ color = ‘red white and blue”
                  $ echo “the value of \$colore is $color”
                  the value of $volor is red white and blue
                  $ cur_dir=”$LOGNAME – your current directory is $(pwd)”
                  $ echo $cur_dir
                  user3 – your current directory is /home/user3/tree
                  $ echo “they’re all here ,\\ , ‘, \” “
                  they’re all here,/, ‘, “
            双引号引用不如单引号引用全面,大多数的特别字符都会被忽略,例外是你可以进行变量替代,$variable,和命令替代, $(cmd).
            当你使用双引号引用的时候,你也许会想要忽略这些特殊字符的含义。因而,反斜杠(\)同时也保持了它的特殊含义,可以用它来除去特殊字符$,或’的特殊含义。前提是他们出现在双引号当中。
            注意:引用机制只能在单个命令行中使用。
            8.6 总结
                  机制 ??????目标
                  反斜杠 ?????忽略下一个字符
                  单引号 ?????忽略所有的在‘‘中的字符
                  双引号 ?????忽略所有的在“”中的字符,除了 \, $,
                  ????????{变量名}, 和$(comand)。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/84425/showart_2069315.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP