複数のホストで同じテキストファイルを操作しようとしています。現在持っているコマンドは次のとおりです。
for host in $(cat /etc/hosts | grep text | cut -d' ' -f 1 | sort -u); do
ssh $host \
sudo sed -i "s/enabled = 1/enabled = 0/" /etc/yum.repos.d/testing.repo
done
sedコマンド自体は問題なくホストシステムでローカルに実行されますが、ここで実行すると次の結果が表示されます。
sed: -e expression #1, char 9: unterminated `s' command
私は何が間違っていましたか?
ベストアンサー1
この試み、
for host in $(grep test /etc/hosts | cut -d' ' -f 1 | sort -u); do
ssh $host 'sudo sed -i "s/enabled = 1/enabled = 0/" /etc/yum.repos.d/testing.repo'
done
リモートコマンドを引用符で囲む必要があります。