2016-07-18 12 views
0

Haben Sie ein Projekt mit 1000 von sh/bash Skripten gibt es Möglichkeit zu bestimmen, welche Bibliotheken in diesen Skripts verwendet werden, ohne sie auszuführen und auf Fehler suchen? Vielleicht gibt es ein Werkzeug dafür oder es ist möglich, ein Skript zu schreiben, das wird es tun?Ermitteln Sie alle Abhängigkeiten von .sh-Skripts, ohne sie auszuführen

+1

Sie meinen die Sourcedateien. Verwenden Sie ein Tool wie awk, um die Quelldateien zu finden. – sjsam

+0

Related: http://stackoverflow.com/questions/19115156/show-commands-without-executing-them – anishsane

Antwort

0

Nicht sicher über die genaue Anforderung, aber unterhalb könnte

awk 'NR==1{printf "Current File : %s\n",FILENAME;} 
    /^source/{print gensub(/^source[[:blank:]]*/,"",1,$0)} 
    /^\./{print gensub(/^\.[[:blank:]]*/,"",1,$0)}' *.sh 

Kurz

Das obige Skript helfen, Gnu awk verwenden, druckt die Dateinamen und für jeden Dateinamen Liste der sourced Dateien

+1

Brauchen nicht nur 'source'd Skripte. Ich weiß nicht, ob ich die Frage von OP richtig verstanden habe, aber wenn das Skript Inhalt hat wie 'ls a.c gcc a.c'; Dann sind 'ls',' gcc' die Abhängigkeiten des Skripts, das OP auflisten möchte. – anishsane

+0

@anishsane, ja, genau – micgeronimo