运行 执行命令时的脚本,与命令的参数无关
Run script when a command is executed irrespective of the command's arguments
rm -rf
rm -r
rm -f
rm
当这些命令中的任何一个是 运行 我希望它们 运行 某个脚本。
类似于alias ?='some_script.sh'
(这里的问号表示带有任何参数的 rm 命令。)
如何做到这一点?我不必使用别名,任何有用的都可以。
如果您的要求是 运行 每个 bash
命令的脚本,那么最好的方法是将它附加到 bash
中的一个特殊变量,每次执行在提示符中输入命令。
PROMPT_COMMAND
变量,您需要做的就是将您的脚本 some_script.sh
添加到它,例如
$ PROMPT_COMMAND+="some_script.sh;"
或者如果您只想为命令 rm
编写脚本,那么保留别名是最好的方法。进行更改后,在 ~.bashrc
和 source
中添加该行。
alias rm="some_script.sh; rm"
不要使用别名;定义一个函数:
rm () {
some_script.sh
command rm "$@"
}
以任何方式修改 rm
的行为时,标准免责声明均适用。不要这样做,因为 some_script.sh
旨在成为某种安全网。如果您在没有安装此安全网的机器上 运行 rm
,您可能会变得依赖它,并且会感到不愉快。
rm -rf
rm -r
rm -f
rm
当这些命令中的任何一个是 运行 我希望它们 运行 某个脚本。
类似于alias ?='some_script.sh'
(这里的问号表示带有任何参数的 rm 命令。)
如何做到这一点?我不必使用别名,任何有用的都可以。
如果您的要求是 运行 每个 bash
命令的脚本,那么最好的方法是将它附加到 bash
中的一个特殊变量,每次执行在提示符中输入命令。
PROMPT_COMMAND
变量,您需要做的就是将您的脚本 some_script.sh
添加到它,例如
$ PROMPT_COMMAND+="some_script.sh;"
或者如果您只想为命令 rm
编写脚本,那么保留别名是最好的方法。进行更改后,在 ~.bashrc
和 source
中添加该行。
alias rm="some_script.sh; rm"
不要使用别名;定义一个函数:
rm () {
some_script.sh
command rm "$@"
}
以任何方式修改 rm
的行为时,标准免责声明均适用。不要这样做,因为 some_script.sh
旨在成为某种安全网。如果您在没有安装此安全网的机器上 运行 rm
,您可能会变得依赖它,并且会感到不愉快。