Linux中的PROMPT_COMMAND 介绍
可以用于更新环境变量、显示自定义消息、记录历史命令等。
Linux中的PROMPT_COMMAND会记录下出现提示符前面的命令,利用这个特性可以实现记录所有用户的操作记录
root用户身份下,进行以下操作
vi /etc/profile
#在最后一行追加以下环境变量
export HISTORY_FILE=/var/log/`date '+%y-%m-%d'`.log
export PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(pwd) #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'
#保存并赋值
source /etc/profile

#
PROMPT_COMMAND是Linux系统中Bash shell的一个环境变量。它允许用户指定一个命令或一系列命令,在每次显示主提示符之前执行。这种机制非常有用,可以用于自定义提示信息、运行检查或日志记录等功能。
PROMPT_COMMAND的作用
-
执行命令: 每次Bash显示主提示符时,会检查
PROMPT_COMMAND的值并执行其中指定的命令。 -
自定义提示: 可以用于更新环境变量、显示自定义消息、记录历史命令等。
-
灵活性: 支持执行任意Bash命令,因此可以用于各种定制化需求。
设置PROMPT_COMMAND
可以通过以下方式设置PROMPT_COMMAND:
# 直接在命令行中设置
export PROMPT_COMMAND='echo -n "当前时间: "; date'
# 在 .bashrc 文件中设置,以便每次登录时自动应用
echo "export PROMPT_COMMAND='echo -n 当前路径: ; pwd'" >> ~/.bashrc
示例用法
显示当前时间:
export PROMPT_COMMAND='echo -n "当前时间: $(date "+%H:%M:%S")"'
记录上一个命令执行时间:
export PROMPT_COMMAND='echo -n "上个命令执行时间: $SECONDS 秒"'
自定义提示信息:
export PROMPT_COMMAND='PS1="在 $(pwd) [$(date "+%H:%M:%S")]$ "'
与PS1的区别
-
PROMPT_COMMAND可以包含普通的Bash语句,而PS1可以包含特殊字符,如\h表示主机名。 -
PROMPT_COMMAND在每次显示提示符前执行,而PS1是提示符本身的内容
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)