환경 변수를 사용하여 xtrace 열기

환경 변수를 사용하여 xtrace 열기

Bash에는 " " 옵션을 켜면 -x(기호 이름은 이라고 생각합니다 xtrace) Bash가 실행될 때 스크립트의 각 줄을 출력하는 유용한 기능이 있습니다.

나는 이 동작을 달성하는 두 가지 방법을 알고 있습니다.

  • 스크립트 자체에서 다음과 같이 말합니다.set -x
  • 명령줄에서 -xBash에 옵션을 전달합니다.

환경 변수를 통해 이 옵션을 활성화할 수 있는 방법이 있습니까?

(특히 Bash를 직접 호출하는 것이 아니기 때문에 옵션을 전달할 수 없고 관심 있는 스크립트가 압축된 아카이브 내부에 있으므로 별로 다시 빌드하고 싶지 않습니다. 환경 변수를 설정할 수 있다면 , 프로세스 상속일 수도 있습니다...)

  • 맨페이지에는 에 대한 내용이 나와 있지만 BASHOPTS, 제가 시도했을 때 Bash는 읽기 전용이라고 말했습니다. (맨페이지에 이 내용을 언급하지 않아서 감사합니다.)

  • 이번에도 SHELLOPTS읽기 전용인 것 같습니다.

  • 당신은 선택할 수 있습니다어느 FD와 함께 사용됩니다 BASH_XTRACEFD. 하지만 먼저 추적을 켜야 합니다.

답변1

env플래그를 무시하는 데 사용됩니다 readonly.

env SHELLOPTS=xtrace ./yourscript

또는 상위 쉘에 있는 경우 환경에 복사하여 하위 쉘에 복사할 수 있습니다(감사합니다 set -x.export SHELLOPTS조 카사돈테이를 위해):

set -x           # set xtrace flag
export SHELLOPTS # copy all options, including xtrace flag, to environment
./yourscript

관련 정보