shell:使用别名警告或拒绝命令执行

shell:使用别名警告或拒绝命令执行

执行

iptables -F

如果你对一个或所有链的默认策略是DROP

我想使用bashrc别名

alias iptables -F="echo \
'WARNING: due to the DROP default rule, flushing all rules would lock you out'"

但这不起作用。

答案1

由于您的别名中有空格,因此这不起作用。

您可以调用自定义函数,如下所示.bash_aliases

#!/bin/bash

function myiptables {
 if [ $@ == "-F" ]
 then
   echo "WARNING: due to the DROP default rule, flushing all rules would lock you out"
 else
   command iptables "$@"
 fi
}

alias iptables='myiptables'

iptables如果参数是,这将打印警告信息-F

否则,它将执行正常iptables命令,包括您可能传递给它的所有参数($@)。


command将运行真正的iptables命令,防止回调你自己的函数:

# help command
...
Runs COMMAND with ARGS suppressing shell function lookup, or display
information about the specified COMMANDs. Can be used to invoke commands
on disk when a function with the same name exists.
...

相关内容