Shell中的特殊字符有
1、$ 美元符 2、\ 反斜杠 3、` 反引号 4、"双引号 5、< ,>;,*,?,[,]
下面我一一举列说明
一、$符号
1、echo $? 显示的是上一条指令退出状态 2、echo "$?" 效果同上 3、echo '$?' 显示的是$? 4、echo \$? 显示的是$? 5、echo "\$?" 显示的是$?
大家可能已经看出$符号在双引号中具有特殊意义双引号对$符号不起作用 而单引号可以将特殊字符的的特殊意义屏蔽掉,使其能显示为字符本身,反斜 杠也可以将特殊字符的特殊含义屏蔽掉,使特殊字符失去特殊含义。
二、\反斜杠
反斜杠的作用是将特殊符号字符的特殊含义屏蔽掉,使其还是原字符
代码如下:
A=1234 echo \$A 显示为$A 如果不加\将显示为1234 echo \` 显示为` echo \" 显示为双引号 echo \\ 显示为\
三、` 反引号
反引号的功能是命令替换,将反引号中的字符串做为命令来执行,我们在用shell编程时经常用的到将系统命令的执行结果赋给一个变量
代码如下:
A=`date` echo $A 显示的不是date而是当时的时间串 比如有一文件A的内容如下 ABCDEFG 1234456 abcdefg
B=`cat A|grep 234`? # 检索文件A中含有字符串234的行 echo $B 将显示为1234456 echo "$B" 将显示为什么? echo "\$B" 将显示为什么?读者自己试试
四、" 双引号
在系统中有些特殊字符,为避免引用这些特殊字符往往用双引号或单引号将这些特殊字符引起来,使其不具有特殊含义。 但有一部分特殊字符在引号中还是具有特殊含义,用双引号引起来是不起作用的。