역사가 없는 두 번째 터미널

역사가 없는 두 번째 터미널

가능한지 모르겠지만 현재 터미널을 사용하는 대신 터미네이터와 같은 두 번째 터미널을 사용하고 싶습니다 $HISTFILE.

답변1

쉘에 따라 다릅니다. 배쉬에서는 할 수 있습니다다양한 방법으로 기록 제어:

  • 저장 기록 사용을 비활성화 set +o history하고 다시 활성화합니다 set -o history(더하기 및 빼기 기호가 반대임). 기록이 비활성화되면 입력된 명령은 기록 로그에 저장되지 않지만 이전 명령은 사용할 수 있습니다.

  • HISTFILE( )을 설정하여 HISTFILE=~/somehistoryfile이력 저장에 사용할 파일을 설정합니다 . unset 변수를 사용하여 완전히 비활성화할 수 있습니다 unset HISTFILE. 기록 파일을 비활성화해도 셸이 실행되는 동안 런타임 기록에 계속 액세스할 수 있습니다. HISTFILESIZE제어 파일에 저장되는 명령의 개수 도 설정할 수 있습니다 .

  • 다음을 사용하여 특정 명령이 기록에 저장되지 않도록 방지HISTCONTROL그리고/또는HISTIGNORE. HISTCONTROL로 설정하면 ignorespace쉘이 공백으로 시작하는 명령줄을 저장하지 않도록 지시합니다. HISTIGNORE기록에 저장되지 않는 명령 패턴을 포함할 수 있습니다. 예를 들어, 또는 공백 및 그 이후의 내용 HISTIGNORE='ls:ls *'만 포함하는 줄 은 저장되지 않습니다.lsls

"기억 상실" 셸의 경우 셸을 열 때 이러한 설정 중 하나를 수동으로 적용하거나 일부 셸 시작 스크립트에서 설정해야 합니다.

한 가지 옵션은 다음과 같이 생성하는 것입니다 ~/.bashrc.nohist.

# include the standard startup files as --rcfile will override them
if [ -f /etc/bash.bashrc ] ; then
    . /etc/bash.bashrc 
fi
if [ -f ~/.bashrc ] ; then
    .  ~/.bashrc
fi
# disable history completely
HISTSIZE=0
# disable the history file
unset HISTFILE
# we could even set a reminder in the prompt
PS1="[nohist] $PS1"

그런 다음 쉘이 시작되도록 예약하십시오 bash --rcfile ~/.bashrc.nohist. 취향에 맞게 스크립트를 조정하세요.

답변2

기록을 기록하지 않으려면 unset HISTFILE현재 세션에 들어갈 수 있습니다(bash의 경우).

관련 정보