コマンドやその他のツールを使用したシェルスクリプトがたくさんあります。シェルスクリプトで使用されるすべてのツールを取得する方法
シェルスクリプトが使用しているすべてのプログラムを一覧表示する方法はありますか? ソースコードから依存関係を取得する方法の種類。
コマンドやその他のツールを使用したシェルスクリプトがたくさんあります。シェルスクリプトで使用されるすべてのツールを取得する方法
シェルスクリプトが使用しているすべてのプログラムを一覧表示する方法はありますか? ソースコードから依存関係を取得する方法の種類。
パイプを翻訳するのにsed
を使用し、改行に$(
を使用し、コマンドの可能性がある場合は、awk
を使用して最初のワードを出力します。
sed 's/|\|\$(/\n/g' FILENAME |
awk '$1~/^#/ {next} $1~/=/ {next} /^[[:space:]]*$/ {next} {print $1}' |
sort -u |
xargs which 2>/dev/null
実行可能な方法は実行時です。 debug modeのbashスクリプトを-x
オプションで実行し、出力を解析することができます。実行されたコマンドと引数のすべてが標準出力に出力されます。私は一般的な解決策を持っていませんが
、次の2つのアプローチを試みることができる:あなたのスクリプトによって実行されたプログラムを確認するためにstraceのを使用する場合があります
シェルの動的な性質のため、スクリプトを実行しないとこれを実行できません。例えば
:
TASK="cc foo.c"
time $TASK
これはcc
は、上記のようにしても、このような簡単な例で呼び出されたことを実行せずに決定することは本当に難しいだろう。
実行時には、thiton(+1)とks1322(+1)によって指摘されているデバッグ出力sh -x myscript
を検査できます。またstrace
のようなツールを使ってexec()
のシステムコールをすべて捕まえることもできます。
あなたの質問は不明です、例えば "ツールを解析する"は意味がありません。あなたのスクリプトが使用したプログラムのリストをお探しですか?またはあなたのスクリプトを使用するプログラムのリスト? –
質問が更新されました。私は、シェルスクリプトを使用するプログラムのリストを探しています。 – deimus