次の行を使用して、リモートコンピュータでforループを実行しようとしています。
ssh ubuntu@host -n "RPM=\`ls /var/www/html/tmp/* | for i in "${promotebuilds[@]}" ; do grep -E $i /var/www/html/tmp/*; done'\`";
これにより空の出力が返されます。これを確認してください。協会エラー1)の場合、パラメータは文字列と配列が混在しています。 *または別のパラメータを使用してください。 2)要素が再分割されるのを防ぐために二重引用符配列を拡張します。
よくわかりません。
ベストアンサー1
ssh ubuntu@host -n "RPM=`ls /var/www/html/tmp/* | for i in "${promotebuilds[@]}" ; do grep -E $i /var/www/html/tmp/ *完璧な ''';
ssh ubuntu@host -n 'RPM=$(for i in "${promotebuilds[@]}" ; do grep -E $i /var/www/html/tmp/*; done)';
最初のパイプは何もせず、一重引用符がペアになっていないためです。ただし、shファイルをscpして実行する必要があります。