Linux 環境變量PROMPT_COMMAND


關於PROMPT_COMMAND環境變量

Bash在顯示PS1之前先執行PROMPT_COMMAND定義的內容,而PS1也就是linux的命令提示符
我們可以用它來記錄用戶輸入歷史

[root@localhost opt]# export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ######### $(history 1 | { read x cmd; echo "$cmd";})"; }'
[root@localhost opt]# pwd
/opt
2020-06-13 09:13:21 ######### 2020-06-13  09:13:21  pwd
[root@localhost opt]#

1.防止記錄重復命令進行判斷(如果控制台一直按回車,會不斷重復記錄最后一條命令)

function my_history(){
    if [ -f "/opt/history.log" ];then
        #獲取最后一條命令
        last_command=`tail -n 1 /opt/history.log |cut -c 21-`
    fi
    date_time="$(date "+%Y-%m-%d %T")"
    msg="######### $(history 1 | { read x cmd; echo "$cmd";})"
    #判斷當前命令和最后記錄的命令不等才記錄
    if [ "${last_command}" != "${msg}" ];then
        echo "${date_time} ${msg}" >> /opt/history.log
    fi
}
export PROMPT_COMMAND=my_history


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM