Linux 如果一个参数匹配,如何使用shell脚本停止CLI

Linux 如果一个参数匹配,如何使用shell脚本停止CLI,linux,bash,shell,Linux,Bash,Shell,基本上,我正试图禁用CLI的“删除”功能,以防止我自己(和其他人)无意中删除我们的环境。我想基本上截取放大delete(包括后续参数)并回应类似的内容,您不应该这样做。 amplify() { local -a args=( ) for arg; do # if arg == delete echo "This command is disabled." done } 问题是我仍然希望其余的CLI参数正常工作。因此,如果我输入放大状态,应该会运行。只是

基本上,我正试图禁用CLI的“删除”功能,以防止我自己(和其他人)无意中删除我们的环境。我想基本上截取
放大delete
(包括后续参数)并回应类似
的内容,您不应该这样做。

 amplify() {
   local -a args=( )
   for arg; do
     # if arg == delete
     echo "This command is disabled."
   done
 }

问题是我仍然希望其余的CLI参数正常工作。因此,如果我输入
放大状态
,应该会运行。只是不要像以前那样在
放大删除
放大删除--arg2--arg3--etc
您可以在
放大()
函数上编写一个包装器,并检查参数是否设置为
删除

amplify() {
   [ "$1" = "delete" ] && { >&2 printf '%s\n' "This command is disabled."; return; }
   command amplify "$@"
}
放大之前的
命令确保这次在
路径
变量中搜索二进制文件以执行。

放大(){if echo“$@”grep-qw delete;然后echo“this command is disabled”;返回1;fi}
未测试,但如果将其保存在
中,则应能工作。
.bashrc