나는 항상 bash를 작업에 사용했으며 결코 문제가 없었습니다. 이제 기록에 명령을 다시 저장하지 않습니다. 창 터미널을 열고 몇 가지 명령을 시도하면 모든 것이 올바르게 작동하고 화살표 키를 사용하여 기록을 표시하는 것처럼 작동합니다. 그러나 창을 닫고 (.bash_history 파일에 저장 해야하는 시간) 다른 파일을 열면 마지막 명령의 흔적이 없습니다.
무엇이 잘못되었는지 어떻게 알 수 있습니까? 또는 공백에서 모든 것을 재설정하십시오.
나는 항상 bash를 작업에 사용했으며 결코 문제가 없었습니다. 이제 기록에 명령을 다시 저장하지 않습니다. 창 터미널을 열고 몇 가지 명령을 시도하면 모든 것이 올바르게 작동하고 화살표 키를 사용하여 기록을 표시하는 것처럼 작동합니다. 그러나 창을 닫고 (.bash_history 파일에 저장 해야하는 시간) 다른 파일을 열면 마지막 명령의 흔적이 없습니다.
무엇이 잘못되었는지 어떻게 알 수 있습니까? 또는 공백에서 모든 것을 재설정하십시오.
답변:
나는 이걸했다:
.bash_profile파일에 변수 추가
SHELL_SESSION_HISTORY=0
터미널을 다시 시작한 후 원하는대로 작동합니다. (터미널을 닫은 후 명령을 저장했습니다)
PS 나는 또한 사용 HISTFILESIZE하고 HISTSIZE변수를
HISTSIZE는 bash 세션이 진행되는 동안 히스토리 목록의 메모리에 저장되는 행 또는 명령 수입니다.
HISTFILESIZE는 (a) 세션 시작시 히스토리 파일에 허용되고 (b) 차후 세션에서 사용하기 위해 bash 세션 종료시 히스토리 파일에 저장되는 행 또는 명령 수입니다.
OS X 10.11 El Capitan 부터 시스템 설치 스크립트 /etc/bashrc_Apple_Terminal는 Resume을 위해 복원 된 각 터미널에 대해 별도의 명령 기록을 저장 / 복원하기 위해 터미널과 조정됩니다 .
/etc/bashrc_Apple_Terminal터미널 별 명령 기록을 관리하는 방법과 사용자 정의 방법에 대한 설명은 주석을 읽으 십시오.
사용자 정의 PROMPT_COMMAND하는 경우 시스템 제공 명령을 지우지 않도록 이전 값으로 연결해야합니다.
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; }your_code_here"
EXIT신호 처리기 를 설치 한 경우 trap비슷한 작업을 수행하십시오 (또는 이전 값으로 연결하는 방법을 알 수없는 경우 처리기에서 shell_session_update를 호출하십시오).
셸을 종료하면이 코드는의 새 터미널에 터미널 기록에 저장 ~/.bash_sessions합니다. 문제가 발생하는지 확인하려면 터미널을 닫는 대신 수동으로 쉘을 종료하십시오 exit(또는 Control-D). 진행 메시지를 기록합니다. 완료되지 않았거나 어떤 종류의 경고 또는 오류 메시지가 표시되는지 확인하십시오.
일반적으로 bashrc_Apple_Terminal사용자가 호환되지 않는 사용자 정의를 수행 한 것처럼 보이는 경우 세션 별 히스토리를 감지하고 사용하지 않도록 시도합니다. 처리하지 않는 것을 찾은 것 같습니다. Apple에 버그 보고서를 제출하십시오 : https://developer.apple.com/bug-reporting/
/etc/bashrc_Apple_Terminal합니까? 후자의 경우 코드를 참조하십시오. 자세한 것은 문서화되어 있습니다. 아니면 그것에 대해 다른 Q & A를 시작해야합니다.
trap shell_session_update EXIT한 번 입력 하고 로그 아웃하십시오. /etc/bashrc_Apple_Terminal스크립트에는 여기에 포함하기에는 너무 지루한 단서가 있습니다.