Linux
iptables list line numbers script iptables-save -bash: number-rules: command not found
我正在嘗試使用腳本來顯示
iptables-save
命令中的 iptables 行號。該腳本取自此站點:https ://blog.oddbit.com/post/2018-02-08-listing-iptables-rules-with-li/
名稱如下
number-rules
:#!/bin/awk -f state == 0 && /^-A/ {state=1; chain=$2; counter=1; printf "\n"} state == 1 && $2 != chain {chain=$2; counter=1; printf "\n"} !/^-A/ {state=0} state == 1 {printf "[%03d] %s\n", counter++, $0} state == 0 {print}
當我執行它會引發以下錯誤:
root@ergesttstsrv:~# iptables -S | number-rules -bash: number-rules: command not found
我檢查
awk
過root@ergesttstsrv:~# which awk /usr/bin/awk
並將腳本的第一行從 更改
#!/bin/awk -f
為/usr/bin/awk -f
,但仍然是同樣的錯誤。有沒有更好的方法來做到這一點,
iptables -nv -L --line-numbers
或者腳本上的錯誤是什麼?注意我對 bash 很陌生。
您需要確保
number-rules
是可執行的,然後需要使用./
從目前工作目錄執行它,因為它不在您的路徑中 - 所以iptables -S | ./number-rules