0

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

到目前为止我所拥有的:

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

但这会引发错误Permission Denied。我应该怎么做才能使它起作用?

4

1 回答 1

2

您应该使用自己的权限创建文件,然后sudo cp将其放置到位。

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

于 2012-08-09T15:42:10.253 回答