방금 실행한 명령을 받고 싶습니다 PROMPT_COMMAND
. 이보다 더 좋은 방법이 있습니까 history 1
?
PROMPT_COMMAND
보다 일반적으로 실행 시 어떤 정보를 사용할 수 있습니까? 이것이 방금 실행한 명령의 종료 코드라는 것을 알고 있지만 $?
다른 코드가 무엇인지는 잘 모르겠습니다.
답변1
앞서 언급했듯이 $!
마지막으로 실행된 명령의 종료 코드가 포함됩니다. Matei David는 다음을 실행해도 환경에 아무것도 추가되지 않는다는 것을 (내 시스템에서) 보여주는 PROMPT_COMMAND
훌륭한 제안을 했습니다 .set
PROMPT_COMMAND
$ PROMPT_COMMAND="set > /tmp/prompt.log"
$ set > /tmp/basic.log
$ diff -u0 /tmp/basic.log /tmp/prompt.log
# no results
물론 이것은 일화적이고 Bash 마법 변수나 포함되지 않은 다른 상태를 포함하지 않지만 set
시작에 불과합니다.
다음을 사용하여 마지막 명령을 얻을 수 있습니다.
last_command=$(HISTTIMEFORMAT='' history 1 | sed 's/ *[0-9]* *//')