【问题标题】:Determine all dependencies of .sh scripts without running them确定 .sh 脚本的所有依赖项而不运行它们
【发布时间】:2016-07-18 19:42:13
【问题描述】:

有 1000 个 sh/bash 脚本的项目有办法确定 这些脚本中使用了哪些库而不运行它们并查找错误? 也许有一个工具可以做到这一点,或者可以编写脚本来做到这一点?

【问题讨论】:

标签: bash dependencies sh dependency-management


【解决方案1】:

不确定确切的要求,但以下可能会有所帮助

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要列出来。
  • @anishsane,是的,正是
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 2011-09-15
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-12
相关资源
最近更新 更多