End*_*han 9 command-line bash scripts execute-command
我是一个新的 Ubuntu/Linux 用户,我想问一个问题作为我上面的标题。
例如,我有一个 bash 文件./script,我想让它在我输入任何命令行时自动运行。一旦我执行命令行pwd,./script就会被执行。一旦我输入下一个命令行ls -la,./script就会再次执行。
Ark*_*zyk 13
您需要设置PROMPT_COMMAND变量。来自man bash:
PROMPT_COMMAND
If set, the value is executed as a command prior to
issuing each primary prompt.
Run Code Online (Sandbox Code Playgroud)
例如,这将在/tmp/PC每次执行命令时写入当前日期:
$ PROMPT_COMMAND="date > /tmp/PC"
Run Code Online (Sandbox Code Playgroud)
hee*_*ayl 11
您正在寻找PROMPT_COMMAND环境变量,该变量的值将作为命令执行,在终端中给出的每个命令执行后,就在显示下一个提示之前。
例如,将其设置为:
export PROMPT_COMMAND='/path/to/script'
Run Code Online (Sandbox Code Playgroud)
首先使脚本/path/to/script可执行。
现在脚本将在每个命令之后运行。
请注意,如果您不想导出变量,即使其成为 shell 变量而不是环境变量,请删除export:
PROMPT_COMMAND='/path/to/script'
Run Code Online (Sandbox Code Playgroud)
来自man bash:
PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.
Run Code Online (Sandbox Code Playgroud)