获取命令输出到变量

时间:2016-08-01 09:24:59

标签: bash

在bash中,我获得了来自/ etc / haproxy平衡的服务的所有名称。但是现在我想将所有这些介绍存储在一个$ srv变量中,以便继续我的健康检查脚本。

for filename in /etc/haproxy/*.cfg; do
    for ((i=0; i<=0; i++)); do
      srv = $(echo $filename | awk -F'[/.]' '{print $4}')
      echo $srv
    done
done

使用echo $ filename | awk -F&#39; [/。]&#39; &#39; {print $ 4}&#39;显示正确的微服务名称,如: 服务1 服务2 服务3

1 个答案:

答案 0 :(得分:2)

在shell变量赋值中,=周围不能有空格。你写的是试图运行srv命令,而不是分配给srv变量。它应该是:

srv=$(echo $filename | awk -F'[/.]' '{print $4}')