그런데 HISTSIZE 환경 변수가 작동하지 않나요?

그런데 HISTSIZE 환경 변수가 작동하지 않나요?

환경 변수에 대해 알아보려고 LPIC 시험 가이드에 나열된 몇 가지 공통 변수를 확인했습니다. 다른 HIST 변수 중에서 HISTSIZE에 대해 설명하지만 HISTSIZE 및 HISTControl과 같은 것이 일반적인 환경 변수라고 말합니다. 그러나 내 테스트에서는 결론이 나지 않았습니다. 아래 테스트에서는 HISTSIZE가 전역 환경 변수인지 확인했는데 그렇지 않습니다. 하지만 에코하면 결과가 표시되므로 로컬/셸 변수라고 가정합니다. 그러나 새 bash 하위 쉘을 생성했는데 값이 여전히 존재하므로 전역/환경 변수여야 합니다. 그렇다면 왜 printenv나 내보내기의 결과가 아닌가?

$ printenv HISTSIZE
$ export | grep HISTSIZE
$ echo $HISTSIZE
1000
$ bash
$ echo $HISTSIZE
1000

답변1

~에서수동[강조 내]:

HISTSIZE
기록 목록에 기억할 최대 명령 수입니다. […]쉘은 시작 파일을 읽은 후 기본값을 500으로 설정합니다.

새로운 것들은 환경에 들어가지 bash않고 스스로 자리잡습니다. 관찰한 값은 기본값이 아니므로 시작 파일 어딘가에 있어야 합니다. 제가 아는 한 그것은 에 있습니다 .HISTSIZEHISTSIZEHISTSIZE=…~/.bashrc

관련 정보