내 스크립트가 아닌 다른 스크립트에 대해 '-x'를 설정하는 방법

내 스크립트가 아닌 다른 스크립트에 대해 '-x'를 설정하는 방법

나는 아직도 버그를 다루고 있습니다.다른 질문디버깅 정보를 얻을 수 없기 때문에 답변이 없습니다.

다른 스크립트를 실행하는 스크립트가 있는데 tty가 터미널에서 어떻게 연결이 끊어지는지 확인해야 합니다.

전역적으로 '-x'를 설정하는 방법이 있습니까? 제가 만든 것이 아닌 동적으로 생성되기 때문에 문제 스크립트에 설정할 수 없는데, 무엇이 문제인지 확인하고 싶습니다.

답변1

쉘 옵션 세트를 사용하여 Bash 호출

에 따르면Bash 호출Bash 매뉴얼 섹션,

set 내장(Set 내장 참조)과 함께 사용되는 모든 단일 문자 옵션은 쉘이 호출될 때 옵션으로 사용될 수 있습니다.

이는 옵션과 스크립트의 파일 이름을 인수 로 xtrace직접 호출하여 옵션 세트 로 Bash 스크립트를 실행할 수 있음을 의미합니다 . 예:bash-x

bash -x /path/to/script

모든 쉘 스크립트에 대한 쉘 옵션 구성

"글로벌"이라고 말하면 xtraceBash의 모든 비대화형 호출에 대한 옵션을 설정하기를 원할 것입니다. 이렇게 하려면 BASH_ENV환경 변수를 적절한 파일 이름으로 설정한 다음 set -x해당 내용으로 해당 파일을 만듭니다.

export BASH_ENV=~/.bash_env
echo set -x > ~/.bash_env

매뉴얼 페이지에서:

예를 들어 bash가 비대화형으로 시작되면 쉘 스크립트를 실행하기 위해 BASH_ENV환경에서 변수를 찾고 변수가 나타나면 해당 값을 확장하고 확장된 값을 읽고 실행할 파일 이름으로 사용합니다.

관련 정보