Bash 함수에서 실행된 마지막 명령을 반환합니다.

Bash 함수에서 실행된 마지막 명령을 반환합니다.

이와 유사합니다:쉘 스크립트에서 실행된 마지막 명령을 반환합니다..

 lastCommand=$(some command here)

동일한 결과를 얻을 수 있지만 대신 bash 스크립트가 아닌 bash 함수 내에서 사용할 수 있습니까?

추신

lastCommand이전 명령을 의미내부에함수.

Bash 4.2+ 솔루션으로 충분합니다.

답변1

xtrace즉, set -x셸이 실행하는 모든 명령의 기록을 얻으려면 다음을 사용할 수 있습니다 .

설정:

xtracefile=$(mktemp)
exec 9>"$xtracefile"
BASH_XTRACEFD=9
set -x

그럼 뭐든지 실행해

foo() { echo foo; echo bar; }
foo

이제 $xtracefile다음 줄을 포함해야 합니다.

+ echo foo
+ echo bar

이를 사용하여 원하는 것을 선택할 수 있습니다. 이렇게 해도 파일이 어느 시점에서든 지워지거나 정리되지는 않으며 파일이 무한정 커집니다.

표시 를 없애고 싶다면 를 +할당하세요 PS4="".

관련 정보