如何从Ruby调用sudo命令
想从Ruby更新/etc/hosts,所以我的Ruby脚本中有以下代码如何从Ruby调用sudo命令,ruby,linux,macos,sudo,Ruby,Linux,Macos,Sudo,想从Ruby更新/etc/hosts,所以我的Ruby脚本中有以下代码 system("sudo echo 'some.valid.ip.address some.domain.name.com' >> /etc/hosts") 期望它会提示输入密码,但我得到了下面的权限拒绝错误 -bash: /etc/hosts: Permission denied 你认为什么是进行调用的正确方法吗?如果可能,你可以以root身份运行Ruby脚本,它会工作。如果可能,你可以以root身份运行R
system("sudo echo 'some.valid.ip.address some.domain.name.com' >> /etc/hosts")
期望它会提示输入密码,但我得到了下面的权限拒绝错误
-bash: /etc/hosts: Permission denied
你认为什么是进行调用的正确方法吗?如果可能,你可以以root身份运行Ruby脚本,它会工作。如果可能,你可以以root身份运行Ruby脚本,它会工作。你只在
sudo
下运行echo
,重定向(/etc/hosts
)是shell的一部分,您只在sudo
下运行echo
,重定向(>/etc/hosts
)是shell的一部分,它会随您的操作而运行。