返回列表 发帖

一个shell脚本的疑问 请教高手!!!

练习与思考:如下结果为何不同?
CODE:
$ A=B\ C
$ echo '"$A"'        # 最外面的是单引号
"$A"
$ echo "'$A'"        # 最外面的是双引号
'B C'

单引号在里面外面是双引号  与双引号在里面 外面是单引号  有什么区别

另外一个问题是 单引号和双引号的区别   书上是说 如下  但是 没有详细列出来 到底是那些在双引号中不会被关闭
谁能给给详细的说明 到底那些不会被关闭
在 bash 中,常用的 quoting 有如下三种方法:
* hard quote:' ' (单引号),凡在 hard quote 中的所有 meta 均被关闭。
* soft quote: " " (双引号),在 soft quoe 中大部份 meta 都会被关闭,但某些则保留(如 $ )


soft quote: " " (双引号),在 soft quoe 中大部份 meta 都会被关闭,但某些则保留(如  )

我问的是那些回保留 除了$

$ A=B\ C
$ echo '"$A"'        # 最外面的是单引号
"$A"
$ echo "'$A'"        # 最外面的是双引号
'B C'
或许是sql学多了  
如果安装由外到里执行的话    $ echo '"$A"'        # 最外面的是单引号----先遇到单引号 里面保留 故结果是"$A"
但是$ echo "'$A'"        # 最外面的是双引号----最外面是双引号 然后判断 有没有  $ ` \ ! 结果遇见的是单引号
那就是说里面的单引号是不执行了吗?
那么其编译顺序是什么?

返回列表