如何使用shellscript创建文件并在其上放置字符串



我想在/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风险大得多,并且还具有争用条件(如果您运行此脚本的两个并发实例,它们最终可能会将信息写入文件两次)。

最新更新