我正在尝试在主机列表中添加 IP 地址。
当我直接在主机上执行此操作时,它会起作用:
sed i- /apache$/a sshd: 192.168.2.2 : allow' /etc/hosts.allow
但是当我通过脚本 bash 执行此操作时,它会在 log.txt 文件中写入:
./hostsallow.sh: line 11: sed -i /apache$/a: No such file or directory
这是脚本:
#!/bin/bash
set -x
for q in `cat itg4`
do
echo $q &>> log.txt
ssh $q -n 'sed -i '/apache$/a sshd: 192.168.2.2 : allow' /etc/hosts.allow' &>> log.txt
done
set -x 在屏幕上给出:
Pseudo-terminal will not be allocated because stdin is not a terminal.
请问你能帮我吗?
此致,
答案1
这解决了问题
ssh $q "sed -i '/apache$/a sshd: 192.168.2.2 : allow' /etc/hosts.allow" &>> log.txt