ฉันไม่รู้ว่านี่เป็นสิ่งที่คาดหวังหรือไม่ แต่ประวัติของฉันไม่ได้รับการบันทึกข้ามเซสชัน นี่คือการพูดว่าถ้าฉันปิดหน้าต่างจากนั้นเมื่อฉันเปิดมันอีกครั้งประวัติศาสตร์ว่างเปล่า ฉันจะคงอยู่ตลอดเซสชันได้อย่างไร?
นี่คือผลลัพธ์ของคำสั่งที่คุณถาม:
set -o | grep history
history on
$ grep -i history ~/.bashrc ~/.bash_profile ~/etc/bash.bashrc ~/etc/profile ~/.profile
/cygdrive/c/cygwin/home/car/.bashrc:# Make bash append rather than overwrite the history on disk
/cygdrive/c/cygwin/home/car/.bashrc:# History Options
/cygdrive/c/cygwin/home/car/.bashrc:# Don't put duplicate lines in the history.
/cygdrive/c/cygwin/home/car/.bashrc:# export PROMPT_COMMAND="history -a"
grep: /cygdrive/c/cygwin/home/car/etc/bash.bashrc: No such file or directory
grep: /cygdrive/c/cygwin/home/car/etc/profile: No such file or directory
/cygdrive/c/cygwin/home/car/.profile:if [ "x$HISTFILE" == "x/.bash_history" ]; then
/cygdrive/c/cygwin/home/car/.profile: HISTFILE=$HOME/.bash_history
$ ls -la ~/ | grep history -> no output
$ echo $HISTFILE
~/.bash_history
$ echo $HISTSIZE
500
$ echo $HISTFILESIZE
500
หลังจากการแก้ไขที่อธิบายไว้ในคำตอบด้านล่างตอนนี้ฉันได้รับ:
grep -i hist .bashrc
# Make bash append rather than overwrite the history on disk
shopt -s histappend
# History Options
# Don't put duplicate lines in the history.
export HISTCONTROL="ignoredups"
# (added) A new shell gets the history lines from all previous shells
PROMPT_COMMAND='history -a'
# HISTIGNORE is a colon-delimited list of patterns which should be excluded.
ฉันยังไม่สามารถบันทึกประวัติในเซสชันต่างๆได้ ฉันอ่านคำถามต่อไปนี้:
- Bash history loss เมื่อใช้ histappend
- วิธีการป้องกัน Bash จากการเปลี่ยนแปลงประวัติศาสตร์?
- อะไรเป็นตัวกำหนดว่าอะไรจะปรากฏในคำสั่ง bash history
- ฉันจะเก็บประวัติทุบตีของฉันไว้ตลอดเซสชันได้อย่างไร
- บันทึกประวัติทุบตีเป็นประจำ
ดูเหมือนจะไม่มีใครตอบปัญหาของฉันรวมถึงคำตอบด้านล่างจากบุคคลที่มีคำถามของพวกเขาตอบจากซ้ำกันควร
ดูคำถามของฉันที่นี่และคำถามที่เชื่อมโยงไปถึง ลองคำแนะนำในพวกเขาและถามอีกครั้งหากคุณยังมีปัญหาอยู่ ในช่วงเวลาดังกล่าวให้ลงคะแนนเพื่อปิดแบบซ้ำซ้อน
—
terdon
แก้ไข: set -o | ประวัติ grep แสดงประวัติเปิด echo $ HISTFILE แสดง ~ / .bash_history, echo $ HISTSIZE และ $ HISTFILESIZE ทั้งคู่แสดง 500 แต่ประวัติยังไม่หายไปในเซสชัน
—
Car981
$ HISTFILE ถูกตั้งค่าเป็น ~ / .bash_history แต่ไม่มีไฟล์. bash_history ใน ~ สิ่งนี้จะเป็นอย่างไร
—
Car981
ลองตั้งค่าแฟ้มประวัติเฉพาะเพิ่มบรรทัดนี้ที่คุณ:
—
terdon
~/.bashrc
export HISTFILE="~/history"
นั่นสร้างความแตกต่างหรือไม่?