netstat -an | grep hypen echo $ variable hypen | wc -l將netstat返回的值收集到變量中
如何收集的值netstat -an | grep echo $variable
| wc -l 到varibale conn_count。
netstat -an | grep hypen echo $ variable hypen | wc -l將netstat返回的值收集到變量中
如何收集的值netstat -an | grep echo $variable
| wc -l 到varibale conn_count。
最大的可移植性使用反引號:
conn_count=`netstat -an | grep ${variable} | wc -l`
如果你有一個更現代的外殼如bash,你可以使用$()
代替:
conn_count=$(netstat -an | grep ${variable} | wc -l)
$()
符號是更好,因爲它更容易nest:
foo=$(netstat -an | grep $(head /path/fo/foo))
$ variable =「abc | efg | xyz rst | ghf | tcg」 for i in $ variable do Conn_count = $(netstat -an | grep $(echo $ {i} | cut -d'|'-f3 )| wc -l) done 想找到第三個字段的netstat並將其收集到一個變量 – Kimi 2010-06-08 18:20:02
使用子shell「反引號」轉義,if你希望能夠使用它的SH,灰,及其變體:
thevariable=`netstat -an | grep echo $variable | wc -l`
如果你要保證能夠進入bash或zsh的,你可以使用$()
語法來代替:
thevariable=$(netstat -an | grep echo $variable | wc -l)
我認爲第一個也適用於(t)csh,但我不確定,因爲我不使用它們。
這將做到這一點的管子字符之間的每個值:
variable="abc|efg|xyz rst|ghf|tcg"
saveIFS=$IFS
IFS='|'
for i in $variable
do
Conn_count=$(netstat -an | grep "$i" | wc -l)
done
IFS=$saveIFS
這將做它只有第三個值:
variable="abc|efg|xyz rst|ghf|tcg"
saveIFS=$IFS
IFS='|'
i=($variable)
IFS=$saveIFS
Conn_count=$(netstat -an | grep "${i[2]}" | wc -l)
@all,'| 'grep'之後的wc -l'當然應該是'grep ... -c',請參閱無用的'wc -l'獎勵:http://partmaps.org/era/unix/award.html#wc – Wrikken 2010-06-09 02:41:06