echo命令的双引号和单引号以及>和>>

发布时间 2023-07-31 15:30:55作者: FBshark

版权声明:本文为CSDN博主「渣渣帅」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39458487/article/details/123567660

 

在shell中,echo可以写入文件,那么其中的单引号和双引号有什么不同?

展示几个例子:

[root@linux ~]# na=Tek

[root@linux ~]# echo $na

Tek

--------------------------------------------------

[root@linux ~]# sa=”Hello $na”

[root@linux ~]# echo $sa

Hello Tek

-----------------------------------------------------

[root@linux ~]# sa='Hello $na'

[root@linux ~]# echo $sa

Hello $na

-----------------------------------------------------

可以看出来单引号可以原封不动的将内容输出,而双引号会将值进行替换。这在用echo写文件的时候要注意

------------------------------------------------------------------------------------------------------------------------

echo中>表示写入文件,并将文件内所有文字替换,也就是说会先清除文件内容再写入。

而>>则是在末行追加一行新的到文件中

echo "kk" > e.txt

echo "22" >> e.txt

则cat e.txt后是

kk

22