質問: ssh経由のリモートforループ スクリプトに次のものがありますfor server in ${servers[@]}; do echo ${server} ssh user@${server} "for i in /tmp/foo* ; do echo ${i}; done" done しかし、それは機能しません。奇妙なことに、$ iの改行が表示されます。したがって、10個のファイルがある場合、10行の空白行が表示されます。
回答: sshの前に配列を作成して反復する場合、ローカルシェルから変数をプルしている場合は機能しますが、この問題に少し戻って、与えられた解決策はあまり効果的ではありません。少し厄介なのは、最初に$をエスケープするだけなので、"for i in /tmp/foo* ; do echo \${i}; done"呼び出されたsshシェルではなく、ローカルコンストラクト内でそれをエスケープします。