由于!在shell里为特殊字符,可以作为调用history历史记录来使用执行某行内容,如!23调用history中的第23条命令,也可以在表达式中表示非的意思。 同时,由于双引号内的内容会被解析,所以!就被解析了,加上\也达不到要的效果。 所以要么用单引号,要么在!前后面都加上一个空格。 echo "Hello world ! " echo 'Hello world !' 单引号、双引号和无引号的区别 (1)单引号 所见即所得,将单引号内的所有内容都不解析,原样输出。 (2)双引号 输出比引号中的所有内容。如果引号中有命令(反引号中)、变量、特殊转义符等,就会先解析变量,将解析结果输出到最终内容中。 (3)无引号 类似于双引号,把解析结果输出到最终内容中,但如果字符串中带有空格等特殊字符,则不能完整的输出,需要加上双引号。
echo 'hello word ! '
19,612
社区成员
74,603
社区内容
加载中
试试用AI创作助手写篇文章吧