发布网友 发布时间:2022-04-20 13:48
共4个回答
热心网友 时间:2022-05-04 02:28
是因为你netstat前面加了个$,这个符号是把它当作变量来处理的,你没有定义过这个变量,它就为空,shell有解释的时候就认为是-n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]},没有-n这个命令
热心网友 时间:2022-05-04 03:46
lx@LxUbuntu:~/bash/tmp$ cat tmp.sh
#!/bin/bash
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
没问题呀
如果不行可以在命令前面加上 eval试试看
你都没试把, 这样可不好
直接netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' >> file
就会追加到文件了
热心网友 时间:2022-05-04 05:20
$netstat 多了一个$???变量
你应该去掉这个$ 就可以,或者前面加上netstat的完全路径
热心网友 时间:2022-05-04 07:12
写脚本要加 #!/bin/sh
eg:
#!/bin/sh
$netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'