Mac의 터미널 세션 간에 Bash 기록이 보존되지 않음

Mac의 터미널 세션 간에 Bash 기록이 보존되지 않음

내 bash 기록이 이상하게 작동을 멈췄는데 어떻게 해결해야 할지 모르겠습니다. 내 .bashrc는 다음과 같습니다.

HISTSIZE=500
HISTFILESIZE=500
HISTFILE=$HOME/.bash_history

그러나 실행 echo $HISTFILE하면 /Users/myusername/.bash_sessions/EE8689E5-7DAD-4018-817E-0AF1DE36082A.historynew.

저는 .bash_history 파일의 소유자이므로 이 문제를 어떻게 해결해야 할지 잘 모르겠습니다.

감사해요!

답변1

터미널은 각 터미널 세션에 고유 식별자를 할당하고 이를 TERM_SESSION_ID 환경 변수를 통해 전달하므로 터미널에서 실행 중인 프로그램은 재개가 활성화된 상태에서 터미널을 종료하고 다시 시작할 때 응용 프로그램별 상태를 저장/복원할 수 있습니다.

새 폴더(~/.bash_sessions/)는 세션에 고유한 HISTFILE 및 .session 파일을 저장하는 데 사용됩니다.

쉘 시작 중에 세션 파일이 실행됩니다. 오래된 파일은 주기적으로 삭제됩니다.

기본 동작은 복원된 각 터미널 세션에 대해 독립적으로 bash 명령 기록을 저장하고 복원하도록 정렬됩니다. 또한 새 세션에 대한 전역 기록에 명령을 병합합니다.

설정을 통해 이 동작을 비활성화하고 단일 기록을 공유할 수 있습니다.

export SHELL_SESSION_HISTORY=0

HISTTIMEFORMAT이 정의된 경우 기본적으로 세션별 기록이 비활성화됩니다(자세한 내용은 /private/etc/bashrc_Apple_Terminal에서 확인하세요).

다음 파일이 있으면 저장/복원 메커니즘이 비활성화됩니다.

~/.bash_sessions_disable

Apple은 El Capitan 출시 이후 이미 일부 동작을 변경했으므로 여기에서 자세한 내용을 읽어보는 것이 좋습니다.less /private/etc/bashrc_Apple_Terminal

답변2

El Capitan 업그레이드 후에 비슷한 점을 발견했습니다. .bash_sessions_disable홈 디렉터리에 파일을 추가하기만 하면 새 bash 세션이 비활성화되고 .bash_history다시 사용됩니다.

이것레딧 스레드더 많은 정보와 추가 링크가 있습니다.

답변3

최신 RVM 버전으로 업데이트하거나 다음을 실행하여 RVM 문제를 해결할 수 있습니다.

  echo 'shell_session_update' > $HOME/.bash_logout

보다https://github.com/rvm/rvm/issues/3540더 많은 정보를 위해서.

답변4

Mac인 경우 기본 로그인 셸 bash.profile이고 .bashrc. 따라서 잘못된 파일을 편집하고 있었습니다.

관련 정보