我知道有些命令可以通过shell进行别名,例如
alias mv="cp"
但是我想做一些类似但有争议的事情(是的,我见过other question,但我的问题略有不同)。类似于:
sshkill() {
service sshd restart
}
alias sshkill="killall sshd"
但这显然不起作用。
我希望阻止用户直接杀死sshd(至少是偶然)并使其重新启动(这适用于多次发生这种情况的服务器)。那么,有没有一种方法可以阻止命令killall sshd
被执行而不是执行service sshd restart
?
答案 0 :(得分:5)
你想拦截killall
,所以:
killall() {
if [ "$1" = "sshd" ]; then
echo "some warning message, and perhaps service sshd restart"
else
command killall "$@"
fi
}