bash에서 HISTIGNORE를 사용하는 것에 대한 지혜를 공유 할 수 있습니까?


26

나는 비행기에서 bash에 대한 맨 페이지를 읽고 있었고 HISTIGNORE 변수를 우연히 발견했습니다. 그것을 테스트하기 위해 .profile을 즉시 편집 하여이 변수를 정의했습니다.

HISTIGNORE = ls 내보내기

나는 그것을 테스트했고 이것은 훌륭하다! 긴 경로를 가진 더 흥미로운 명령을 배제하지 않고 내 역사에서 평범한 'ls'명령을 제외하지만 최근 SU로부터 많은 지혜를 얻었으므로 슈퍼 유저가 권장하는 다른 명령이나 다른 교훈을 알고 싶어합니다.

bash에서 HISTIGNORE 변수 사용에 대해 무엇을 공유 할 수 있습니까?

답변:


29

내가 무시 ls명령하지 않고, bg, fg, exit, pwd, clear, mountumount:

이것을 HISTIGNORE문자열에 포함 시키면 명령 앞에 공백을 추가하여 원하는 것을 억제 할 수 있습니다.

"[ \t]*" 

이것은 내 HISTIGNORE:

HISTIGNORE="&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*"

서버에 고유 한 반복 명령 인 다른 항목은 제외했습니다. 당신이하는 일은 간단하지만 제외하는 것이 좋습니다.

추가하지 않은 다른 것들이 있지만 Linux 상자에서 몇 마일 떨어져있어 메모리가 부족합니다.


6
HISTCONTROLinclude 의 값이 "ignorespace"또는 "ignoreboth"인 경우 공백으로 시작하는 명령은 히스토리에서 생략됩니다. 값에 "ignore dups"또는 "ignoreboth"가 포함 된 경우의 "&"와 같습니다 HISTIGNORE.
추후 공지가있을 때까지 일시 중지되었습니다.

나에게도 history명령 자체 를 무시하는 것이 유용하다는 것이 입증되었습니다 .
con-f-use

2
사용 "[ \t]*"은 공백 또는로 시작하는 명령 을 무시합니다 t. 당신이 원하는HISTIGNORE=$'&:ls:[bf]g:exit:pwd:clear:mount:umount:[ \t]*'
Gregory Pakosz

14

히스토리 목록에 간단한 1 개 및 2 개의 문자 명령을 저장하지 마십시오.

HISTIGNORE='?:??'

경우 extglob옵션이 활성화되어, 당신은 또한 예를 들어, 확장 된 패턴을 사용할 수 있습니다

HISTIGNORE='a*( )'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.