~/.bash_history
오타가 있는 명령까지 포함하여 내가 실행한 모든 명령을 확인하고 볼 수 있었습니다 . 성공한 명령(예: 종료 코드 0)만 저장하는 방법이 있나요?
참고: 저는 bash와 zsh를 사용하고 있습니다.
답변1
~/.bashrc
파일 에 저장하세요
good_history(){
exit_status=$?
if ((!exit_status)); then
history 1 >> history.txt
fi
}
export PROMPT_COMMAND="good_history"
~/.bashrc
소스를 실행한 후source ~/.bashrc
위의 구성은 함수 정의입니다.
function_name() { command_goes_here; }
종료된 명령만
0
파일에 저장됩니다.history.txt
쉘에 관한 한 종료 상태는
0
성공이고, 그렇지 않으면 실패입니다.내장 변수는
$?
대화식이든 아니든 마지막으로 실행된 명령의 마지막 종료 상태를 유지합니다.수학적 맥락에서
0
bash에서는 실패하고1
the에서는 성공(( ))
하므로 bang 문자의 사용을 무효화합니다!
.help test
>>
해당 항목이 가리키는 위치(이 경우에는 파일)에 추가 됩니다 .PROMPT_COMMAND
쉘 세션에서 실행하려는 변수에 대한 bash 매뉴얼 섹션을 참조하십시오.PAGER='less +/^[[:space:]]*PROMPT_COMMAND' man bash
필요할 수도 있고 필요하지 않을 수도 있지만 파일에 어떤 설정이 있는지
export
잘 모르므 로 거기에 있습니다.shellrc
- 누군가가 그것을 사용하기를 기다리고 있습니다.
zsh