|

- 社区积分
- 0
- 技术积分
- 34
- 阅读权限
- 20
- 注册时间
- 2008-7-9
|
楼主
发表于 2008-10-6 13:30
| 只看该作者
一个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'" # 最外面的是双引号----最外面是双引号 然后判断 有没有 $ ` \ ! 结果遇见的是单引号
那就是说里面的单引号是不执行了吗?
那么其编译顺序是什么? |
|