可能的重复:
将标准输出重定向到您没有写入权限的文件
我是新人,正在尝试学习 shell 脚本。
有没有办法强制连接并覆盖执行以下一行命令的权限?
read domain; echo "127.0.1.1 $domain " >> /etc/hosts
我想做的只是创建一个简单的脚本来输入域,然后将其添加到我的主机文件中进行开发。由于我的主机文件具有限制性权限(即使我是唯一拥有 sudo 权限的用户),它不会放手。
理想的输出只会执行以下操作:
127.0.0.1 foo.l
答案1
不能。>>
由 shell 解释,因此 sudo 命令在此之前有效结束。
不过,你可以尝试
read domain; echo "127.0.1.1 $domain " | sudo tee --append /etc/hosts
看看是否能按需要工作。