히스토리에 저장하지 않고 bash에서 명령 실행


답변:


54

명령 전에 공간을 추가하십시오. 공백으로 시작하는 명령은 기록에 포함되지 않습니다.

root@ubuntu-1010-server-01:~# echo foo
foo
root@ubuntu-1010-server-01:~# history 
    1  echo foo
    2  history 
root@ubuntu-1010-server-01:~#  echo bar
bar
root@ubuntu-1010-server-01:~# history 
    1  echo foo
    2  history 

남자 배쉬

  HISTCONTROL
         A  colon-separated  list of values controlling how commands are
         saved on the history list.  If  the  list  of  values  includes
         ignorespace,  lines  which begin with a space character are not
         saved in the history list.  A value of ignoredups causes  lines
         matching  the  previous history entry to not be saved.  A value
         of ignoreboth is shorthand for ignorespace and  ignoredups.   A
         value  of erasedups causes all previous lines matching the cur
         rent line to be removed from the history list before that  line
         is  saved.   Any  value  not  in the above list is ignored.  If
         HISTCONTROL is unset, or does not include a  valid  value,  all
         lines  read  by the shell parser are saved on the history list,
         subject to the value of HISTIGNORE.  The second and  subsequent
         lines  of a multi-line compound command are not tested, and are
         added to the history regardless of the value of HISTCONTROL.

1
$ HISTIGNORE에 대한 나의 대답보다 낫습니다. +1
Matt Simmons

1
매일 새로운 것을 배우십시오.
David Rickman

1
나는 보통이 설정 /etc/profileHISTCONTROL=ignorebothHISTCONTROL 변수 및 수출.
ewwhite

이것은 나를 위해 작동하지 않는 것? 역사에 쓰는 것처럼 보이지만 앞에 공백을 넣으십시오. 486 에코 테스트 487 기록 488 에코 테스트 공간 489 기록
Peter

마지막 의견을 무시하면 데비안 / 다른 OS에서는 작동하지 않지만 우분투에서는 작동하는 것처럼 보입니다.
Peter

3

또한 정상적인 종료 대신 현재 로그인 세션을 종료하는 트릭을 언급 할 가치가 있습니다 (따라서 기록을 저장할 기회를주지 않습니다). 이것은 공백으로 접두사를 기억하는 대신 공유 a / c에 로그인 할 때 특히 유용합니다. 세션을 종료하여 세션을 종료 할 수 있습니다. 가장 간단한 방법은 다음 명령을 실행하는 것입니다.

kill -9 0

Pid 0은 항상 현재 프로세스의 PID를 나타내므로 기본적으로 치명적인 킬 신호를 자신에게 보냅니다. 또한 구성이 잘못되어 정상적인 종료시 세션이 자주 중단되므로 정상적으로 종료하는 대신 이것을 자주 사용합니다.


1

또 다른 해결책은 기록 파일을 디렉토리로 설정하는 것입니다.

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