2010-11-22 4 views
0

필자는 지루한 작업을 자동화하기 위해 작성한 bash 스크립트를 사용하므로 에코에서 명령이 올바르게 보이지만 실행하면 작동하지 않습니다.실행되는 스크립트에서 실행 된 명령을 보는 방법은 무엇입니까?

CMD='custom_script update --flag=value --comment="testing"' 
echo -e "Running $CMD" 
$CMD 

에코 쇼 : custom_script 업데이트 --flag = 값이 --comment 실제로 실행 무엇을 "테스트"정확하지만 즉

하지 =를이 내가 뭘하는지입니다 $ CMD 줄 (나는 에코에서 출력을 복사하여 붙여 넣으면 작동하지만 스크립트에서 실행 한 후 오류 메시지는 따옴표가 꺼져 있기 때문에 알 수 있습니다.)

나는 $ CMD가 명령을 실행하는 것을 볼 수 있다면 이것을 알아낼 수 있다고 생각하지만, 어떻게해야할지 모르겠다.

bash -x script.sh 

또는

eval $CMD 

내가 필요한 것입니다

처럼

#!/bin/bash -x 
+1

[BashFAQ/050] (http://mywiki.wooledge.org/BashFAQ/050) 및 [BashFAQ/048] (http://mywiki.wooledge.org/BashFAQ/048)을 참조하십시오. –

답변

3

실행을.

+0

그게 뭔가? 내가 게시 한 것은 스크립트의 단순화 된 버전이었고, -x를 추가하면, 코드 앞에 +와 ++가있는 모든 종류의 다른 것들이 출력되었습니다 : ++ awk '{print $ 2}' – Kai

+1

' -x'는 꽤 좋은 충고입니다. 실행될 때마다 각 줄을 볼 수 있습니다. 다음은 bash 맨 페이지의'-x' 문서입니다 : https://gist.github.com/709592 – wuputah

0

같은 오두막이 보이는 수정처럼

관련 문제