运行环境: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命令我在本地执行就好好的,这到底是什么原因,求各位大神指点
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文件配置下无密码执行命令