연결 시 마지막 명령 검색

연결 시 마지막 명령 검색

;&&zsh에서 , 체인 명령을 사용할 때 ||체인의 이전 명령(이전에 실행되었던 명령)에 어떻게 액세스합니까? 예:

rm foo ; echo ...

나는 나를 위해 제공할 무언가를 찾고 있습니다 rm foo.

history사용 해봤는데 !!현재 실행된 명령이 아닌 마지막으로 실행된 명령까지만 명령이 제공됩니다. 또 다른 아이디어는 를 사용하는 것이지만 $0이는 zsh의 위치만 인쇄합니다.

마지막 명령만 검색할 수 없는 경우 전체 체인에 액세스하는 것도 가능합니다.

답변1

다음을 수행할 수 있습니다.

$ TRAPDEBUG() last_command=$current_command current_command=$ZSH_DEBUG_CMD
$ echo test; print -r -- $last_command
test
echo test

이 명령은 일부 형식을 다시 지정합니다.

$ (echo test); print -r -- $last_command
test
(
        echo test
)
$ (for a (1 2) echo $a); print -r -- $last_command
1
2
(
        for a in 1 2
        do
                echo $a
        done
)

관련 정보