我正在使用这样的命令来获取一些连接nf_conntrack
:
awk '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == "dport=1234")' /proc/net/nf_conntrack
如何在 Bash 脚本中使用此命令并向其添加脚本参数?如果我这样做:
awk '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == "dport=$1")' /proc/net/nf_conntrack
它会假设所有$1
、$3
、$6
、... 都是脚本参数并失败。如何将awk
列号与脚本参数分开才能正确使用此命令?
答案1
这不是必需的,但根据经验法则,明确声明要从环境传递给的变量awk
awk -v myvar="dport=$1" '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == myvar)' /proc/net/nf_conntrack