2016-11-17 25 views
0

リモート構成ファイルをbashスクリプトで読み取ろうとしていますが、ローカル次は正常に動作します:構成設定のリモート構成ファイル

while IFS="=" read -r name value; do 
    declare "$name=$value" 
done < "$cfg" 

私はsshcatを使用して同じことを実行しようとしました:

ssh "$hostname" "cat $remote_cfg" | 
while IFS="=" read -r name value; do 
    declare "$name=$value" 
    echo $name $value 
done 

しかし、私の変数は唯一、私はそれらをもたらすことができるか、whileループのスコープ内で宣言されています外側の範囲?

ありがとうございます!

答えて

0

私は物事を考え出しました(出典:http://mywiki.wooledge.org/BashFAQ/024)。

プロセス置換が動作します:

while IFS="=" read -r name value; do 
    declare "$name=$value" 
done < <(ssh "$hostname" "cat ~/.cuttleline.cfg") 
関連する問題