디버깅을위한 Bash 변수 확장을 참조하십시오.


12

bash 코드를 쉽게 읽을 수 있도록 변수를 확장하는 데 사용할 수있는 도구 / 트릭이 있습니까?

예를 들어 다음을 변환합니다.

DIR=/var/tmp
FILE=${DIR}/file
SCRIPT_ROOT=/opt/root
TOOL=${SCRIPT_ROOT}/tool.sh
${TOOL} ${FILE}

에:

DIR=/var/tmp
FILE=/var/tmp/file
SCRIPT_ROOT=/opt/root
TOOL=/opt/root/tool.sh
/opt/root/tool.sh /var/tmp/file
  • BASH 코드를 Python으로 변환하고 BASH 구문을 읽는 것은 지루합니다.

답변:


16

아래에서 스크립트를 실행하십시오 bash -x.

$ bash -x script
+ DIR=/var/tmp
+ FILE=/var/tmp/file
+ SCRIPT_ROOT=/opt/root
+ TOOL=/opt/root/tool.sh
+ /opt/root/tool.sh /var/tmp/file

-x일반적으로 디버깅에 사용 되지만 요구 사항을 충족시키는 것 같습니다.

선적 서류 비치

보낸 사람 man bash:

-x 명령과 인수가 실행될 때 인쇄합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.