собрать значение, возвращаемое netstat в переменную - PullRequest
0 голосов
/ 08 июня 2010

netstat -an |grep hypen echo $ переменная hypen |wc -l

Как получить значение netstat -an |grep echo $variable |wc -l в переменную conn_count.

Ответы [ 3 ]

1 голос
/ 08 июня 2010

Используйте escape-оболочку subshell «backticks», если хотите использовать ее для sh, ash и ее вариантов:

thevariable=`netstat -an | grep echo $variable | wc -l`

Если вам будет гарантирован доступ к bash или zsh, вывместо этого можно использовать синтаксис $():

thevariable=$(netstat -an | grep echo $variable | wc -l)

Я думаю, что первый также работает с (t) csh, но я не уверен, так как не использую их.

1 голос
/ 08 июня 2010

Используйте backticks для максимальной переносимости:

conn_count=`netstat -an | grep ${variable} | wc -l`

Если у вас есть более современная оболочка, такая как bash, вы можете использовать $() вместо:

conn_count=$(netstat -an | grep ${variable} | wc -l)

$() нотациялучше, потому что легче вкладывать:

foo=$(netstat -an | grep $(head /path/fo/foo))
0 голосов
/ 08 июня 2010

Это будет сделано для каждого значения между символами канала:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...