ホストのリストに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