如何使用shell脚本创建文件并将字符串放在其上?

时间:2012-08-09 14:53:06

标签: file shell ubuntu-12.04

我想在/usr/share/applications/中创建一个文件并在其上放一个字符串。

到目前为止我有什么:

sudo touch /usr/share/applications/test.desktop
dentry="testing"
sudo echo $dentry >> /usr/share/applications/test.desktop

但这会引发错误Permission Denied。我该怎么做才能使它有效?

1 个答案:

答案 0 :(得分:2)

您应该使用自己的pernissions创建文件,然后sudo cp到位。

第二个命令不起作用的原因是重定向是由shell设置的,在sudo甚至运行之前。您可以通过运行sudo sh -c 'echo stuff >>file'解决此问题,但这比简单的sudo cp更容易出现风险,并且还有竞争条件(如果您运行此脚本的两个并发实例,它们可能最终将信息两次写入文件。)