SSH、forループ、およびファイルタッチを同時に実行できますか?

SSH、forループ、およびファイルタッチを同時に実行できますか?
for account in ${accounts}
do
        `ssh -q id@server "touch EVENTS_${account}_${date}.log"`
done

何度もSSHを実行する代わりに、SSHを介してforループを実行してファイルをタッチできますか?

ベストアンサー1

ssh を使用すると、複数のコマンドを実行できます。各コマンドをセミコロンで区切ってください。

command=": "
for account in ${accounts}
do
        command=$command"; touch EVENTS_${account}_${date}.log"
done
ssh -q id@server "$command"

すべての「:」は「次のコマンドを続行する」を意味します。これにより、コマンドはセミコロンで始まりません。

また、コマンドの周りにバックティックを使用する必要はありません。

おすすめ記事