我想在/usr/share/applications/
中创建一个文件并在其上放置一个字符串。
到目前为止,我拥有的:
sudo touch /usr/share/applications/test.desktop
dentry="testing"
sudo echo $dentry >> /usr/share/applications/test.desktop
但这引发了一个错误Permission Denied
.我应该怎么做才能让它工作?
您应该使用自己的权限创建文件,然后将其sudo cp
到位。
第二个命令不起作用的原因是重定向是由您的 shell 设置的,甚至在sudo
运行之前。您可以通过运行sudo sh -c 'echo stuff >>file'
来解决此问题,但这比简单的sudo cp
风险大得多,并且还具有争用条件(如果您运行此脚本的两个并发实例,它们最终可能会将信息写入文件两次)。