![bash 기록에 특정 명령이 저장되지 않도록 제외](https://linux55.com/image/21101/bash%20%EA%B8%B0%EB%A1%9D%EC%97%90%20%ED%8A%B9%EC%A0%95%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%A0%80%EC%9E%A5%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8F%84%EB%A1%9D%20%EC%A0%9C%EC%99%B8.png)
bash 기록에 저장되는 것과 rm -rf
같은 명령을 제외하는 방법이 있습니까 ? svn revert
사실 제가 급하게 일을 했더니 그냥 그런 일이 생겨서 의도하지 않았음에도 실수로 글을 올린 적이 여러 번 있었습니다. 이로 인해 지금까지 수행한 작업 중 많은 부분이 손실되었습니다.
답변1
아마도 당신은 $HISTIGNORE
"히스토리 목록에 저장할 명령줄을 결정하는 데 사용되는 콜론으로 구분된 패턴 목록"을 원할 것입니다. ~/.bashrc의 이 줄이 작업을 수행해야 합니다.
HISTIGNORE='rm *:svn revert*'
또한 명령 시작 부분에 공백을 추가하여 기록에서 제외할 수 있습니다. 이는 내가 사용한 모든 배포판의 기본값인 또는 $HISTCONTROL
포함되는 한 작동합니다.ignorespace
ignoreboth
답변2
OP의 질문과 약간 다르지만 의도적으로 명령이 bash 기록에 저장되는 것을 원하지 않을 때는 명령 앞에 공백을 추가합니다. Ubuntu 및 그 변형에서 작동하지만 모든 시스템에서 작동하는지 확실하지 않습니다.
답변3
나는 역사상 일어나고 싶지 않은 일을 할 때 보통 bash 인스턴스를 종료합니다.
kill -9 $$
$$는 쉘에서 bash를 실행할 때 현재 프로세스를 나타냅니다. $BASHPID를 사용할 수 있지만 더 많은 입력이 필요합니다 :-)