我正在编写一个 bash 脚本,该脚本使用 de ip rule...
命令来添加和删除一些规则。但是我在删除它们时遇到问题。例如 ip rule show
输出如下所示:
0: from all lookup local
32764: from all fwmark 0x3022 lookup 12322
32765: from 10.10.10.1 lookup 12322
32766: from all lookup main
32767: from all lookup default
我拥有的所有信息都是表 ID (12322),我需要删除查找该表的所有规则。
我尝试了这些命令:ip rule del table 12322
和 ip rule del lookup 12322
,但这两个命令总是删除第一条规则,而不是查找的第一条规则12322,我的意思是第一个规则 from all lookup local
。如果我运行这些命令中的任何一个 5 次,我最终将没有任何规则。
如何在一个命令中删除所有lookup 12322
的规则?
最佳答案
您可以使用“从 0/0 到 0/0”进行删除,但这只会删除一条规则。要删除它们,请使用如下内容:
while ip rule delete from 0/0 to 0/0 table 12322 2>/dev/null; do true; done
这将删除所有规则,直到不再存在为止。
关于linux - ip 规则 : deleting all rules from table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895098/