没有获得 echo 命令所需的输出

没有获得 echo 命令所需的输出

下面是我的脚本。

#!/bin/bash
SERVERS="sl20rht00-t"
#SERVERS="shcbrht01-t"
USR="adm-dt-c"
for host in $SERVERS
do
ssh -tt $USR@$host 'sudo cp /etc/sudoers /Backups/sudoers_11thmarch2015; sudo cp /etc/ssh/sshd_config /Backups/sshd_11thmarch2015; sudo cat /home/adm-dt-c/denyuser >>  sudo /etc/ssh/sshd_config; sudo /etc/init.d/sshd restart;'
done
exit 0

/etc/ssh/sshd_config问题是即使在成功执行脚本后我也无法附加该行。

答案1

sudo不适用于重定向。您现在可能已经有了一个~$USR/sudo文件。不要重定向,而是通过管道传输到sudo tee.

改变这个:

ssh -tt $USR@$host 'sudo cp /etc/sudoers /Backups/sudoers_11thmarch2015; sudo cp /etc/ssh/sshd_config /Backups/sshd_11thmarch2015; sudo cat /home/adm-dt-c/denyuser >>  sudo /etc/ssh/sshd_config; sudo /etc/init.d/sshd restart;'

对于这样的事情:

ssh -tt $USR@$host 'sudo cp /etc/sudoers /Backups/sudoers_11thmarch2015; sudo cp /etc/ssh/sshd_config /Backups/sshd_11thmarch2015; sudo cat /home/adm-dt-c/denyuser | sudo tee -a /etc/ssh/sshd_config > /dev/null; sudo /etc/init.d/sshd restart;'

相关内容