ssh远程执行sudo命令的问题

运行环境:ubuntu 14.04 已安装秘钥登陆

我想在li这个远程主机上执行sudo sed -i '$a\test' /etc/hosts命令,意思上在/etc/hosts文件中最后添加test字段,运行结果如下:

ssh li@li.host -t sudo sed -i '$a\test' /etc/hosts

[sudo] password for li:

sed: can't find label for jump to `est'

connection to li closed.

可是这个sudo命令我在本地执行就好好的,这到底是什么原因,求各位大神指点

阅读 9.6k
1 个回答

ssh li@li.host -t "sudo sed -i '$a\test' /etc/hosts"
不行了试试下面这个
ssh li@li.host -t "sudo su -c 'sed -i \"$a\test\" /etc/hosts'"

sudo在/etc/sudoers文件配置下无密码执行命令

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进