3

次のようなソース呼び出しを使用して、bashスクリプトの実行を確認する必要があります。

#!/bin/bash
some code here
source script_b.sh
more code here

走る:

$bash -x script_a.sh

そして私は得る、

+ some echo here
+ script_b.sh
+ some more echo here

ただし、すべてのエコーはscript_a.shからのものです。script_b.shのすべてのコードが非表示になっているため、実際に何が起こっているのかを追跡できません。

script_a.sh内でscript_b.shの実行を確認する方法はありますか?

4

1 に答える 1

3

親スクリプト内で「bash-xscript_b.sh」を試すことができます。

編集:

これは私のために働いた。親スクリプトをbash-xで実行すると、両方のすべてが表示されます。「set-x」は、スクリプト内の環境のデバッグフラグを設定しますか?よくわかりませんが、FIFOはまだ私にとって魔法です。

echo "start of script"
set -x
mkfifo fifo
cat /dev/null < fifo | fifo > source .bash_profile
rm fifo
echo "end of script"
于 2013-03-14T17:40:58.007 に答える