bash history를 사용하여 공백이 접두어로 실행되는 명령 만 기억하십시오! 된 명령은 명령 기록 파일에 기록되지

접두사가 공백 인 터미널에서 실행 된 명령은 명령 기록 파일에 기록되지 않습니다. 그러나 역전을 얻는 방법이 있습니까? 즉, 역사는 접두사가 붙은 것을 기록해야합니까?



답변

두 개의 변수 (HISTIGNORE HISTCONTROL)를 설정하여 기본 우분투 설정을 되돌릴 수 있습니다. 다음과 같은 명령을 사용하십시오.

HISTIGNORE='!( *)'
HISTCONTROL=ignoredups

HISTCONTROL=ignoredups히스토리 동작을 변경하여 중복 행만 무시하고 공백으로 시작하는 행은 무시하지 않습니다. ( HISTCONTROL=중복을 유지하려면 HISTCONTROL을 빈 문자열 ( )로 설정할 수도 있지만 일반적으로 원하지는 않습니다.)

HISTIGNORE='!( *)'공백으로 시작하지 않는 모든 행을 히스토리에서 무시합니다. 공백으로 시작하는 ( *)모든 행과 일치하지만 행은 공백을 무시 !하므로 공백으로 시작하지 않는 모든 항목과 일치합니다. 그리고 HISTIGNORE 패턴과 일치하는 모든 것은 역사에서 무시됩니다. (이 후자의 옵션을 사용하려면을 extglob켜고 bash를 실행해야 shopt -s extglob하지만 Ubuntu의 기본 설정입니다.)

이것을 영구적으로 만들고 싶다면 위의 두 명령을에 넣으십시오 ~/.bashrc.


답변

접두사가 공백 인 터미널에서 실행 된 명령은 명령 기록 파일에 기록되지 않습니다

그렇습니다.