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