반응형
실행하기 전에 각 명령을 어떻게 인쇄 할 수 있습니까? [복제]
이 질문에는 이미 답변이 있습니다.
- 쉘 명령이 실행될 때 에코하는 방법 13 답변
각 명령을 실행하기 전에 인쇄하는 Bash 스크립트를 설정하는 가장 좋은 방법은 무엇입니까?
디버깅 목적으로 유용합니다.
나는 이미 이것을 시도했다 :
CMD="./my-command --params >stdout.txt 2>stderr.txt"
echo $CMD
`$CMD`
이것을 먼저 인쇄해야합니다.
./my-command --params >stdout.txt 2>stderr.txt
그런 다음 ./my-command --params
출력을 지정된 파일로 리디렉션하여 를 실행 하십시오.
set -o xtrace
또는
bash -x myscript.sh
이것은 IIRC뿐만 아니라 표준 / bin / sh에서도 작동합니다 (POSIX 일 수 있습니다)
그리고 bashdb ( bash Shell Debugger, release 4.0-0.4
) 가 있다는 것을 기억하십시오
정상으로 되돌리려면 서브 쉘을 종료하거나
set +o xtrace
가장 쉬운 방법 bash
은 다음과 같습니다.
set -x
또는로 명시 적으로 실행하십시오 bash -x myscript
.
set -x
괜찮지 만 다음과 같은 일을하면 :
set -x;
command;
set +x;
인쇄 될 것입니다
+ command
+ set +x;
서브 쉘을 사용하여 다음과 같은 것을 방지 할 수 있습니다.
(set -x; command)
명령을 인쇄합니다.
set -x
괜찮습니다.
실행 된 각 명령을 인쇄하는 다른 방법은을 사용 trap
하는 것 DEBUG
입니다. 이 줄을 스크립트의 시작 부분에 넣으십시오.
trap 'echo "# $BASH_COMMAND"' DEBUG
여기 에서 다른 많은 trap
사용법을 찾을 수 있습니다 .
참고 URL : https://stackoverflow.com/questions/5750450/how-can-i-print-each-command-before-executing
반응형
'Programing' 카테고리의 다른 글
전체 문서 HTML을 문자열로 얻는 방법? (0) | 2020.05.06 |
---|---|
주어진 커밋의 커밋 메시지를 git에 인쇄하십시오. (0) | 2020.05.06 |
MySQL : 어떤 데이터베이스가 선택되어 있는지 확인 하시겠습니까? (0) | 2020.05.06 |
SurfaceView와 View의 차이점은 무엇입니까? (0) | 2020.05.06 |
URL을 클릭하면 기본 브라우저가 열립니다 (0) | 2020.05.06 |