netstat -an | grep hypen echo $ variable hypen | wc -l </ p>
如何收集 netstat -an |的值grep echo $variable
| wc -l </ strong>
到一个varibale conn_count。
答案 0 :(得分:1)
使用反引号实现最大可移植性:
conn_count=`netstat -an | grep ${variable} | wc -l`
如果您有更现代的shell,例如bash,则可以使用$()
代替:
conn_count=$(netstat -an | grep ${variable} | wc -l)
$()
表示法更好,因为它更容易嵌套:
foo=$(netstat -an | grep $(head /path/fo/foo))
答案 1 :(得分:1)
如果您希望能够将它用于sh,ash及其变体,请使用子shell“反引号”转义:
thevariable=`netstat -an | grep echo $variable | wc -l`
如果您可以保证能够访问bash或zsh,则可以使用$()
语法:
thevariable=$(netstat -an | grep echo $variable | wc -l)
我认为第一个也适用于(t)csh,但我不确定,因为我不使用它们。
答案 2 :(得分:0)
这将对管道字符之间的每个值执行此操作:
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)