태그 보관물: command-history

command-history

기록을 저장하지 않고 터미널을 닫으려면 어떻게합니까? 한 번 이상 실수로

한 번 이상 실수로 여러 명령을 실행하고 내 배쉬 기록을 오염 시켰습니다. bash 기록을 저장하지 않고 터미널을 닫으려면 어떻게해야합니까? Fedora를 사용하고 있습니다.



답변

쉘 히스토리는 HISTFILE변수가 나타내는 파일에 저장됩니다 . 그래서:

unset HISTFILE

이것은 zsh에도 적용되지만 ksh에는 적용되지 않습니다. ksh $HISTFILE는 쉘이 시작될 때 표시되는 파일에 계속 저장 합니다 (역순으로 쉘을 시작하면 ksh에 히스토리를 저장하기로 결정 함).


답변

짧은 답변:

프롬프트에서 이것을 입력하십시오.

$ kill -9 $$

이것은 바로 할 수있는 쉘없이 쉘을 죽일 것을 , 역사, 저장, 트랩으로 신호를 같은 실행 ~/.bash_logout, 정지 작업에 대한 경고, 또는 좋은 물건 중 하나.

긴 대답 :

참고 :이 옵션은 상호 배타적이지 않습니다 . 한 번에 모두 사용할 수 있습니다.

옵션 1:

히스토리 파일을 어지럽히는 데있어 완벽 주의자라면 HISTIGNORE기록하고 싶지 않은 명령을 포함 하도록 변수를 수정하면 됩니다. 예를 들어, 추가 할 경우 HISTIGNORE='ls*:cd*'사용자에 ~/.bashrc의 다음 인스턴스 lscd히스토리 파일에 삽입되지 않습니다.

옵션 2 :

명령별로 명령에서 히스토리에서 제외되는 명령을 제어하려는 경우 HISTCONTROL='ignorespace'공백으로 시작하는 명령 행이 생략되도록 설정할 수 있습니다 . 를 사용 ignoreboth하면 반복되는 줄도 생략됩니다. 그런 다음 명령을 입력하기 전에 스페이스 바를 누르면 히스토리 파일에 표시되지 않습니다.

옵션 3 :

터미널을 닫을 때 셸이 즉시 종료되도록 trap하려면 터미널 프로그램이 셸을 보내는 신호 ( xterm예 : 전송 SIGHUP한 다음 셸이 종료 될 때까지 기다림)를 할 수 있습니다. 이 신호를받습니다. 이것을 다음에 추가하십시오 ~/.bashrc.

# don't record history when the window is closed
trap 'unset HISTFILE; exit' SIGHUP

답변

나는 history -c바로 전에 아무도 제안하지 않은 것을보고 놀랐습니다 exit. 잘 할 IINM (나는 전문가가 아닙니다).


답변

bash가 히스토리 파일을 판별하기 위해 사용하는 두 가지 환경 변수와 쉘이 종료 될 때 기록 할 행 수는 두 개입니다.

다음 중 하나를 사용하여 세션 히스토리를 버릴 수 있습니다 (히스토리 파일에서 생략하려는 세션 중에 설정 됨).

HISTFILE=/dev/null

또는

HISTSIZE=0

이 중 하나는 Bdora on Fedora에서 잘 작동합니다.


답변

왜 명령 기록에 관심이 있는지 잘 모르겠습니다. 특정 명령이 자주 필요한 경우 별명을 정의하면 더 재미있어서 기록에서 찾아 보지 않고 두 번의 키 입력으로 다시 가져올 수 있습니다.


답변

  1. Eli는 이미 Bash에 대한 정답을 설정했습니다 HISTSIZE=0.

  2. 난 그냥 GNU 화면에 대한 방법을 추가합니다 . Ctrl+A(화면 이스케이프 시퀀스)와을 차례로 누릅니다 :scrollback 0. 스크롤 이력이 삭제됩니다. 이제 :scrollback 15000스크롤 백 버퍼 크기를 즉시 재설정 할 수 있습니다 .


답변