2016-11-16 39 views
2

我需要一些幫助來完成命令行。我需要在某些文件「applications.properties」中獲取屬性名稱「server.port」,然後在「myIp:server.port/health」上捲曲shell命令行中的連續字符串

我使用以下行獲取屬性值, curl命令得到參數,但是我不能在之前和/之後添加IP。

你能幫我完成這個命令行嗎?

cat ms-something-*/application.properties | grep server.port | awk '{print $3}' | xargs curl 

因此,如果沒有最後一個元素「xargs curl」,該行將返回一個端口號列表。但我需要添加IP(例如8.8.8.8)和/健康,呼籲捲曲的"8.8.8.8:server.port/health"

+0

你可以發佈'grep'在服務器端口上的'application.properties'文件的內容嗎? – Inian

回答

3
cat ms-something-*/application.properties | grep server.port | awk '{print "8.8.8.8:"$3"/health"}' | xargs curl 

應該爲你工作,如果我正確地理解你的問題......

+0

如果我理解正確,您在IP之後和端口值之前缺少':'。 – Inian

+0

對,對不起。更正... – MarcoS

+0

就是這樣!我試圖迴應一些內容,但我不考慮打印內的concat ...它工作正常。謝謝你的幫助。 –

1

你可以用for循環來實現這一點。

for port in $(cat ms-something-*/application.properties | grep server.port | awk '{print $3}') ; do 
    curl "8.8.8.8:${port}/health" 
done 
+0

這個工作也是。感謝這個備用解決方案。 –