我需要在shell开始执行用户传递的命令之前执行命令,我尝试使用带有DEBUG信号的陷阱,但这没有发生。
我在/ etc / profile中注册了陷阱。
陷阱'echo“my_command”'DEBUG
现在发生的事情是:
SW0:根:根> PWD
/根
my_command
SW0:根:根>
我想要的是:
SW0:根:根> PWD
my_command
/根
SW0:根:根>
使用Bash版本:
GNU bash,版本2.04.0(1)-release(powerpc-unknown-linux-gnu)
我希望在用户在shell中输入的每个命令之前执行我的命令,我该怎么做?
请帮助我,我尝试了很多谷歌搜索,但这没有帮助。
答案 0 :(得分:1)
您可能正在寻找类似PROMPT_COMMAND
的内容:
在Bash显示提示之前,此变量的内容将作为常规Bash命令执行。
答案 1 :(得分:0)
我的例子
function preexec() {
echo "Preexec command"
}
trap 'preexec' DEBUG
结果是
# pwd
Preexec command
/home/robert