sudo 这里文档/串联?

sudo 这里文档/串联?

可能的重复:
将标准输出重定向到您没有写入权限的文件

我是新人,正在尝试学习 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 

看看是否能按需要工作。

相关内容