sed & ssh ./hostsallow.sh: 第 11 行: sed -i /deployit$/a: 没有这样的文件或目录

sed & ssh ./hostsallow.sh: 第 11 行: sed -i /deployit$/a: 没有这样的文件或目录

我正在尝试在主机列表中添加 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

相关内容