【发布时间】:2016-07-18 19:42:13
【问题描述】:
有 1000 个 sh/bash 脚本的项目有办法确定
这些脚本中使用了哪些库而不运行它们并查找错误?
也许有一个工具可以做到这一点,或者可以编写脚本来做到这一点?
【问题讨论】:
-
您的意思是
sourced文件。使用 awk 之类的工具来查找源文件。
标签: bash dependencies sh dependency-management
有 1000 个 sh/bash 脚本的项目有办法确定
这些脚本中使用了哪些库而不运行它们并查找错误?
也许有一个工具可以做到这一点,或者可以编写脚本来做到这一点?
【问题讨论】:
sourced 文件。使用 awk 之类的工具来查找源文件。
标签: bash dependencies sh dependency-management
不确定确切的要求,但以下可能会有所帮助
awk 'NR==1{printf "Current File : %s\n",FILENAME;}
/^source/{print gensub(/^source[[:blank:]]*/,"",1,$0)}
/^\./{print gensub(/^\.[[:blank:]]*/,"",1,$0)}' *.sh
简而言之
上述脚本使用 gnu awk 打印文件名,并为每个文件名列出源文件
【讨论】:
sourced 脚本。我不知道我是否正确理解了 OP 的问题,但脚本是否包含 ls a.c<newline>gcc a.c 之类的内容;那么ls,gcc是脚本的依赖,OP要列出来。