2016-07-18 4 views
0

Avoir un projet avec 1000 des scripts sh/bash permet de déterminer quelles bibliothèques sont utilisées dans ces scripts sans les exécuter et à la recherche d'erreurs? Peut-être qu'il existe un outil pour cela ou il est possible d'écrire un script qui va le faire?Déterminez toutes les dépendances des scripts .sh sans les exécuter

+1

Vous voulez dire les fichiers 'sourced'. Utilisez un outil comme awk pour trouver les fichiers sources. – sjsam

+0

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

Répondre

0

Pas sûr de l'exigence exacte, mais au-dessous pourrait aider

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

En bref

Le script ci-dessus, en utilisant awk gnu, imprime les noms de fichiers et pour chaque liste de noms de fichiers les fichiers sourcés

+1

Vous n'avez pas besoin d'être juste des scripts 'source'd. Je ne sais pas si j'ai bien compris la question de l'OP, mais si le script a un contenu comme 'ls a.c gcc a.c'; alors 'ls',' gcc' sont les dépendances du script, que OP veut répertorier. – anishsane

+0

@anishsane, oui, exactement – micgeronimo