답변:
이것은 당신이 찾고있는 것이어야합니다 :
unset HISTFILE
man bash
HISTFILE을 설정하지 않았거나 기록 파일을 쓸 수없는 경우 기록이 저장되지 않습니다.
또는이 기능을 껐다가 다시 켜려면 사용하기가 더 쉬울 수 있습니다 set
.
set +o history
set -o history
set +o history
하고 set -o history
앞뒤로 전환합니다;)
unset HISTFILE
작동하지 않습니다. set -/+o history
매력처럼 작동합니다! 고마워
이 HISTCONTROL
포함되어 있는지 확인하십시오 ignorespace
. 당신은 아마 추가 할 수 있습니다 HISTCONTROL=ignorespace
(또는 HISTCONTROL=ignoredups:ignorespace
당신 또는 무언가) ~/.bashrc
. 그런 다음 공백으로 시작하는 명령 줄은 기록에서 생략됩니다.
또 다른 가능성은 기록을 저장하지 않는 새 bash 세션을 시작하는 것입니다.
$ bash
$ unset HISTFILE
$ sooper-sekret-command
$ exit
$ #back in the parent shell
여러 명령을 저장하지 않아도되지만 여전히 위쪽 화살표를 사용하여 이전 명령에 액세스하려면 다음을 사용하십시오.
$ bash # open a new session.
$ unset HISTFILE # avoid recording commands to file.
$ commands not recorded
.
.
$ exit
$
명령 저장 방법을 제어하는 네 가지 방법 (레벨)이 있습니다.
첫 번째이자 가장 간단한 방법은 다음을 사용하는 것입니다 ignorespace
.
$ HISTCONTROL="ignorespace${HISTCONTROL:+:$HISTCONTROL}"
그러면 메모리 목록에 기록하지 않으려는 명령 앞에 공백을 사용할 수 있습니다 history
. 결과적으로 파일로 보낼 수있는 메모리에 기록 된 명령이 없으므로에 나열된 파일로 하나의 명령을 보내지 않아도 됩니다 $HISFILE
.
에 파일에 명령을 기록하지 마십시오 $HISTFILE
.
$ unset HISTFILE
설정하지 않으면, 쉘이 종료 될 때 명령 히스토리가 저장되지 않습니다.
Null HISTFILE=''
및 / 또는 HISTFILE=/dev/null
동일한 효과 로 작동하도록 설정되었습니다 . 명령이 여전히 메모리 목록에 기록되고 있음을 이해 history
하거나 명령 또는 위쪽 화살표를 시도하십시오 .
경고 : 쉘이 존재하기 전에 HISTFILE을 재설정하면 메모리에 기록 된 모든 내용이 파일에 기록 될 수 있습니다.
메모리의 히스토리 목록에 새 명령을 기록하지 마십시오 . 그리고 메모리에 있지 않기 때문에 파일에 기록 할 수 없습니다.
$ shopt -ou history # or set +o history
shopt -os history
(또는 set -o history
)로 다시 활성화
메모리의 히스토리 목록에서 모든 명령을 제거하십시오.
$ HISTSIZE=0
모든 명령은 (메모리에서) 지워 지므로 변수가 유효한 숫자 값으로 다시 설정 될 때까지 파일에 아무것도 저장할 수 없습니다.
man history
우리의 대부분을 잘라 않을 것입니다.
LESS=+'/^ *HISTI' man bash
( "수동 페이지"가 아닙니까?). @NathanBasanese
기록을 끄는 간단한 방법이 하나 있으므로 명령이 .bash_history
파일에 저장되지 않습니다 .
명령 앞에 공백이나 탭 공간을 넣어야 명령이 기록에 저장되지 않습니다. 예를 들면 다음과 같습니다.
$ ls
print the list of file
$ history
ls
history
$ pwd
print the current working directory
$ history
ls
history
pwd
는 앞에 공백이 있기 때문에 명령은, 역사에 매장을받지 않습니다.
export HISTFILE=/dev/null
그것이 나의 길입니다. 설정되지 않은 HISTORY / HISTFILE / HISTCONTROL 등이 작동하지 않는 경우 / dev / null로 내 보내면 항상 효과가 있습니다.
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
HISTFILE
bash가 종료 될 때만 확인되므로 첫 번째 방법은 그대로 작동하지 않습니다 (값을 복원하면 명령이 저장 됨).set +o history
지시대로 작동합니다.