每次执行命令行时运行 bash 脚本

每次执行命令行时运行 bash 脚本

我是一个新的 Ubuntu/Linux 用户,我想问一个如上述标题所述的问题。

例如,我有一个 bash 文件./script,我想让它在我输入任何命令行时自动运行。一旦我执行命令行,pwd就会./script执行。一旦我输入下一个命令行ls -la,就会./script再次执行。

答案1

您需要设置PROMPT_COMMAND变量。来自man bash

PROMPT_COMMAND
              If set, the value is executed as a command prior to
              issuing each primary prompt.

例如,这将在/tmp/PC每次执行命令时写入当前日期:

 $ PROMPT_COMMAND="date > /tmp/PC"

答案2

您正在寻找PROMPT_COMMAND环境变量,该变量的值将作为命令执行,在终端中给出的每个命令执行之后,就在显示下一个提示之前。

例如设置为:

export PROMPT_COMMAND='/path/to/script'

/path/to/script首先使脚本可执行。

现在脚本将在每个命令之后运行。

需要注意的是,如果你不想导出变量,即使其成为 shell 变量而不是环境变量,请删除export

PROMPT_COMMAND='/path/to/script'

man bash

PROMPT_COMMAND 
If set, the value is executed as a command prior to issuing each primary prompt.

相关内容