나는 다음과 같은 것을 원합니다 :
# source:
a() b mp3 m4a "$@"
b() eval "${1}-to-${2} $@:q"
alias mp3-to-m4a='ffmpeg ...'
#
$ traceall a a.mp3 a.m4a
# should return:
Functions:
a
b
Aliases:
mp3-to-m4a
commands:
ffmpeg
답변1
trap
의사 신호로 볼 수 있습니다 DEBUG
. 그러나 이는 별칭 확장 이후에만 명령과 기능을 트리거합니다. 자세한 내용은 zsh 매뉴얼을 읽어야 합니다. 명령이나 기능을 실행하여 실행될 내용에 대한 정보를 제공하므로 정보를 직접 기록하는 대신 전체 디버거를 구현하는 데 사용할 수 있다고 가정할 수 있습니다.
답변2
xtrace를 전역적으로 활성화합니다.
> set -x; a a.mp3 a.m4 ; set +x
또는 해당 함수에 대해 xtrace를 켜고 실행합니다.
> typeset -tf a # turns on xtrace for function a and below
> a a.mp3 a.m4
> typeset -Tf a # turns on xtrace for function a only
> a a.mp3 a.m4