当前位置:  技术问答>linux和unix

转义符的一个问题,20分相送

    来源: 互联网  发布时间:2016-07-15

    本文导语:  :/bin # echo  "vvv"   vvv  :/bin # echo vvv  vvv  ====一个思路没有打通,就是echo vvv  直接呼出vvv是去掉的结果vvv,但加了""号呼出的结果增加了转义符vvv,按照一般的解释双引号情况下的符是起作用的,因此我原来的...

:/bin # echo  "vvv"  
vvv 
:/bin # echo vvv 
vvv 
====一个思路没有打通,就是echo vvv  直接呼出vvv是去掉的结果vvv,但加了""号呼出的结果增加了转义符vvv,按照一般的解释双引号情况下的符是起作用的,因此我原来的理解应该""下也是出现vvv的。事实上这个符号没有消失掉,我解释为""下的符没有生效,但这个就不好解释"$0"的结论了, 
这个结论是:~/tmp> echo "$0"  -bash 
但是实际情况是否是这样,请各位大侠指教谢谢~~ 

|
你现在的问题是:

echo “vvv"  输出:vvv
echo "$0"     输出:$0   ,依据前一个推论,他应该输出:  $0   ?

//引用bash中的帮助
Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $ , ` , and  . The characters $ and ` retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $ , ` , ",  , or  . A double quote may be quoted within double quotes by preceding it with a backslash.
//==========================================================================
其中有一句:双引号中如果要当成转义字符,必须跟$,`,,"这四个字符。注意没有说v

但是echo ”$0"  ,首先shell将其"$0"转义为"$0",然后echo程序输出"$0"。至于前一个,shell并不认为"v"并不认为是转义字符,因此不对其进行处理

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c/c++ 常用转义字符
  • 请教一个shell中调用sqlplus,其中sql语句中有$符号,需要转义,不知道怎么写转义才对,比较急,在线等,谢谢!
  • HTML语言特殊字符大全及其编码对照表(包括转义方式)
  • php数组递归转义实例详解,php转义函数
  • java中的转义字符介绍
  • php正则表达式转义字符的例子
  • RedHat AS 4 不能使用这几个转义字符 c t n?
  • JQuery转义id中特殊字符的例子
  • 关于shell 特殊字符的转义
  • php mysql转义特殊字符函数
  • 如何将一个双引号”放在一个字符串中,就是在字符串中如何转义一个双引号。谢谢!
  • 有关转义字符
  • php mysql转义特殊字符的函数有哪些?
  • jquery验证特殊字符并转义
  • MySQL 转义字符使用说明
  • 利用ascii码传输xml转义字符示例
  • 转义字符显示为黑方块?
  • Java 转义库 unbescape
  • 转义字符是什么意思
  • shell script下如何使用转义符?
  • url链接中特殊字符转义方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3