解析配置远程配置文件

时间:2016-11-17 16:43:32

标签: bash ssh pipe config

我想在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循环的范围内声明,我怎样才能将它们带到外部范围?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我已经弄明白了(来源:http://mywiki.wooledge.org/BashFAQ/024)。

流程替换有效:

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