我有一个由“root”拥有的文件,名为“test.propertIEs”,我想用“cat”替换“world”.
所以我运行这个命令:
sudo sed s/world/cat/ <test.propertIEs >newtest.propertIEs
它工作得很好,但是当我想写这样的SAME文件时:
sudo sed s/world/cat/ <test.propertIEs >test.propertIEs
它说“-bash:test.propertIEs:Permission denIEd”,但我使用的是“sudo”,为什么会被拒绝?
解决方法 不要运行您尝试运行的命令如果您尝试将输出从sed重定向回相同的文件,它将将其清空,删除所有文件内容.尝试这样的事情:
sed s/world/cat/ <test.propertIEs >newtest.propertIEs && sudo mv newtest.propertIEs test.propertIEs
您获得权限被拒绝,因为命令的重定向部分不是通过sudo运行,而是以普通用户身份运行.
第一个命令有效,因为您只是读取第一个文件并写入您拥有的文件,因此您可以使用常规用户.
总结以上是内存溢出为你收集整理的权限 – 使用Sed时拒绝权限全部内容,希望文章能够帮你解决权限 – 使用Sed时拒绝权限所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)