set -x
껍질에 사용하십시오 .
$ alias hello='echo hello world!'
$ hello
hello world!
$ set -x
$ hello
+ echo hello world!
hello world!
사용 set -x
상의 회전을 xtrace
쉘 옵션 ( set +x
를 꺼짐) 및 작동해야 모든 본쉘, 같은 bash
, dash
ksh93
, pdksh
와 zsh
. 별명 확장 및 변수 확장 등이 수행 된 후 실행되는 명령을 표시하도록 쉘에 프롬프트합니다.
출력은 쉘의 표준 오류 스트림 (일반 프롬프트와 동일)에 있으므로 표준 출력의 경로 재 지정을 방해하지 않으며 PS4
쉘 변수에 의해 정의 된 프롬프트 ( +␣
기본적으로) 가 앞에옵니다 .
몇 가지 기능이 포함 된 예 :
$ world () { echo "world"; }
$ hello () { echo "hello"; }
$ helloworld () { printf '%s %s!\n' "$(hello)" "$(world)"; }
$ helloworld
hello world!
$ set -x
$ helloworld
+ helloworld
++ hello
++ echo hello
++ world
++ echo world
+ printf '%s %s!\n' hello world
hello world!
set -x
기본적으로 모든 대화식 쉘에서 실행 중입니다 . 실제로 실행 된 것을 보는 것이 좋지만 ... 프로그래밍 가능한 탭 완성 등으로 인해 일부 쉘에서 원하지 않는 추적 출력이 발생할 수 있음을 알았습니다.
$@
별명의 일부? 별명은 실제로 별명을 호출하는 컨텍스트의 위치 매개 변수 (있는 경우)로 확장되는 인수를 지원하지 않습니다. 일반적인 실행 방법은somealias some args
별명을 확장하고 인수를 따라가는 것만으로 작동합니다. 실제로 인수에 액세스하려면 함수를 사용하고"$@"