기록 -c는 $HITCMD를 1로 재설정하지 않습니다.

기록 -c는 $HITCMD를 1로 재설정하지 않습니다.

요약: 기록이 잘리기 시작하면(예: HISTSIZE기록이 400인데 기록 번호가 500인 경우) 기록을 재설정하면 기록 의 줄 수가 history -c지워지 거나 줄어들고 기록 번호에서 해당 줄을 뺍니다. HISTSIZE, 그러나 0으로 재설정되지는 않습니다(이 경우 100으로 재설정됩니다). 과거 숫자를 다시 0으로 완전히 재설정하려면 어떻게 해야 합니까?


배쉬 4.2(및 4.4). 내 기록 번호가 4자리 미만이길 원합니다. 관련 bashrc 섹션:

HISTSIZE=99
HISTFILESIZE=100
#ignores back-to-back duplicate commands, not those that start with a space
HISTCONTROL=ignoredups
#ignore commands fewer than 5 characters long because we can type those
HISTIGNORE="?:??:???:????:?????:history"

history\!PS1에서 볼 수 있는 역사적 숫자는 분명히 이 값을 초과할 것입니다 . 기록 수가 1,000을 초과하면 기록 수를 ~100으로 재설정할 수 있기를 원합니다.

history -c터미널 기록을 지우지만, 이는 지워진 명령 수만큼만 기록 수를 줄입니다. 예:

j:~$ history | wc -l
99
j:~$ echo $HISTFILESIZE
100
j:~$ echo $HISTCMD 
1203
j:~$ history -c
j:~$ echo $HISTCMD
1106

그럼...히스토리 번호를 더 작은 숫자(예 $HIST(FILE)SIZE: tmux 세션 내)로 낮추려면 어떻게 해야 합니까? 하지만 문제가 되지는 않습니다.

또한: 현재 사용 중인 것보다 파이프 작업이 덜 필요한 변수로 현재 내역 번호를 가져오는 방법이 있습니까? 편집: Jeff가 언급했듯이 $HISTCMD이 값을 저장하십시오.

제공된 솔루션 중 어느 것도 작동하지 않습니다. 방법은 다음과 같습니다 set -x.

History -c는 기록을 지우지 않습니다.

관련 정보