所以我正在編寫一個腳本來從預先存在的腳本獲取輸出的特定部分並通過HTTP POST發送它們。For-loop + echo會改變我輸出所需的格式
我需要以以下格式發送它們:blade.$hostname.cpu=$cpuvalue
和blade.$hostname.mem=$memvalue
而$hostname, $cpuvalue and $memvalue
是前面提到的腳本的輸出。
我試過如下:
#!/bin/bash
for n in {10..11}
do
name=`./getdata.v7 $1 $2 | grep LINX"$n" | cut -c1-6`
cpu=`./getdata.v7 $1 $2 | grep LINX"$n"_processor-usage | cut -c24-25`
mem=`./getdata.v7 $1 $2 | grep LINX"$n"_memory-usage | cut -c21-22`
echo -e "blade.$name.cpu=$cpu\nblade.$name.mem=$mem"
done
但是當我運行該腳本,我得到這樣的結果:
blade.LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 .cpu = 2
blade.LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX1 0 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10 LINX10.mem = 96
誰能幫助我什麼,我需要改變只獲取LINX10的一部分,而不是36次(是的,我數過它們)?
在我寫的內容中可能有一個非常愚蠢的錯誤,但我是bash的新手,無論我嘗試什麼,我都無法讓它工作。
你可以展示的第一個腳本一些輸出的例子嗎? –
'{10..11}'可能更容易寫成'10 11'。 – kojiro