linux 多个会话同时执行命令后history记录不全的解决方案
生活随笔
收集整理的這篇文章主要介紹了
linux 多个会话同时执行命令后history记录不全的解决方案
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
基本認(rèn)識(shí)
linux默認(rèn)配置是當(dāng)打開一個(gè)shell終端后,執(zhí)行的所有命令均不會(huì)寫入到~/.bash_history文件中,只有當(dāng)前用戶退出后才會(huì)寫入,這期間發(fā)生的所有命令其它終端是感知不到的。
問題場(chǎng)景
那么問題來了,假若之前history命令記錄為c0,用戶先打開了shell終端a,執(zhí)行了一部分命令c1,又打開了一個(gè)shell終端b,又執(zhí)行了一部分命令c2.
問題1.終端a執(zhí)行的這部分命令終端b上看不到。
問題2.終端a正常退出,相關(guān)命令會(huì)寫入到/.bash_history文件中(c1命令也會(huì)寫入,即c0+c1),等到終端b正常退出后,相關(guān)命令也會(huì)寫入到/.bash_history文件中,注意這個(gè)時(shí)候終端b寫入的內(nèi)容為c0+c2,也即c1記錄會(huì)丟失!!!
解決方案
將下面這段內(nèi)容添加到~/.bashrc 并執(zhí)行 . ~/.bashrc即可
# format history
# save in ~/.bashrc
如下:
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami`@${USER_IP}: " export HISTFILESIZE=1000000 export PROMPT_COMMAND="history -a; history -r; $PROMPT_COMMAND" shopt -s histappend bind '"\e[A": history-search-backward' bind '"\e[B": history-search-forward' 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的linux 多个会话同时执行命令后history记录不全的解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开普勒行星运动第二定律在电子与原子核运动
- 下一篇: wine client error:0: