Bash
在 bash 腳本中使用帶有列號的 awk
我正在使用這樣的命令從以下位置獲取一些連接
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
列號與腳本參數分開以正確使用此命令?
沒有必要,但根據經驗,顯式聲明要從 env 傳遞到的變數
awk
awk -v myvar="dport=$1" '($3 == "tcp") && ($6 != "TIME_WAIT") && ($10 == myvar)' /proc/net/nf_conntrack