私のスクリプトには次のものがあります
for server in ${servers[@]}; do
echo ${server}
ssh user@${server} "for i in /tmp/foo* ; do echo ${i}; done"
done
しかし、これはうまくいきません。奇妙なことに、$ I金額の返品ラインが表示されます。したがって、10個のファイルがある場合は、10個の空白行が表示されます。
ベストアンサー1
ローカルシェルは${i}
二重引用符()"
内の内容を解釈するため、このコマンドの結果は次のとおりです。
ssh [email protected] "for i in /tmp/foo* ; do echo; done"
一重引用符('
)のみを使用すると問題が消えます。
ssh user@${server} 'for i in /tmp/foo* ; do echo $i; done'