Shell编程 - 引号篇

双引号、单引号、不加引号与反引号

在变量赋值时,如果值有空格,Shell会把空格后面的字符串解释为命令:

# VAR=1 2 3
-bash: 2: command not found
# VAR="1 2 3"
# echo $VAR
1 2 3
# VAR='1 2 3'
# echo $VAR 
1 2 3
看不出什么区别,再举个说明:
# N=3
# VAR="1 2 $N"
# echo $VAR
1 2 3
# VAR='1 2 $N'
# echo $VAR
1 2 $N

单引号是告诉Shell忽略特殊字符,而双引号则解释特殊符号原有的意义,比如$、!。

引号 特点
单引号 所见即所得,单引号里面的内容不解析
双引号 特殊符号会被解析运行,$ ``,但不会解析{}
不加引号 与双引号类似,但会解析{}
反引号 优先执行,先运行引号里面的命令
posted @ 2024-11-30 21:36  kyle_7Qc  阅读(50)  评论(0)    收藏  举报