2016-03-02 61 views
1

我正在使用使用curl從配置獲取特定數組值的腳本。我想將輸出放置到分隔值的列中(值未知的腳本)。這裏是我的代碼:在列輸出中使用命令變量不起作用

# get overlay networks and their details 
get_overlay=`curl -H "X-Person-Token: $auth_token" -H "X-Person-Email: $auth_email" -k "$api_host/api/v1/networks"` 

# array of overlay names with uuid 
overlay_name=`echo $get_overlay | jq '.[] | .name'` 
overlay_uuid=`echo $get_overlay | jq '.[] | .uuid'` 
    echo "" 
    echo -e "Overlay UUID\n$oname $ouuid" | column -t 
exit 0 

這裏的輸出中:

Overlay         UUID 
"TESTOVERLAY" 
"Auto_API_Overlay" 
"ANOTHEROVERLAYTEST"     "ea178905-6ab0-4154-ab05-412dc4b39151" 
"e5be9dbe-b0fc-4e30-aaf5-ac4bdcd863a7" 
"850ebf6b-3651-4cf1-aae1-5a6c03fad61b" 

我所期待的是:

Overlay         UUID 
"TESTOVERLAY"       "ea178905-6ab0-4154-ab05-412dc4b39151" 
"Auto_API_Overlay"      "e5be9dbe-b0fc-4e30-aaf5-ac4bdcd863a7" 
"ANOTHEROVERLAYTEST"     "850ebf6b-3651-4cf1-aae1-5a6c03fad61b" 

我在這一個絕對的初學者,任何見解是非常讚賞。 謝謝!

回答

1

我會建議使用paste由線到你的兩個變量線面相結合:

paste <(printf 'Overlay\n%s\n' "$name") <(printf 'UUID\n%s\n' "$uuid") | column -t 

兩個過程替代用於傳遞每個變量的內容與他們的頭銜一起。

+0

非常感謝Fenech先生!你的建議就像一個魅力。在我發佈之後,我意識到我使用的命令不是單行條目。 – techiejs