2010-11-22 7 views
0

私は退屈なものを自動化するために書いたbashスクリプトを持っているので、コマンドをエコーで見ているのですが、実行するとうまくいきません。実行時にスクリプトで実行されたコマンドを表示するにはどうすればよいですか?

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

エコーショー: custom_script更新--flag =値は--commentが実際に実行してどのような「テスト」が正しいですが、それがある

でない=をこれは私がやっているものです$ CMD行を使っています(私が知っているのは、エコーからの出力をコピー&ペーストすると動作しますが、スクリプトで実行した後にエラーメッセージが表示されるためです)。

私は$ CMDで実行されたコマンドを見ることができますが、これを理解することはできますが、その方法はわかりません。

+1

[BashFAQ/050](http://mywiki.wooledge.org/BashFAQ/050)および[BashFAQ/048](http://mywiki.wooledge.org/BashFAQ/048)を参照してください。 –

答えて

3

bash -x script.sh 

または

eval $CMD 

は私が必要なものであるように

#!/bin/bash -x 
+0

これは何をしますか?私が投稿したのは、スクリプトの簡略化されたバージョンでした。そして、シバンに-xを追加すると、コードの前に+や++をつけて次のようなものを印刷しました: ++ awk '{print $ 2}' – Kai

+1

' -x'はかなり良いアドバイスです。実行されるごとに各行を見ることができます。 bashのmanページの '-x'に関する文書は次のとおりです:https://gist.github.com/709592 – wuputah

0

のようなシェバングが見える変更のようなファイル名を指定して実行して。

関連する問題