如何编写 bash 脚本中使用的所有可执行文件的列表?

如何编写 bash 脚本中使用的所有可执行文件的列表?

可执行文件作为通用术语:

  • 常见的二进制文件
  • 脚本

我想它可以用一些胖正则表达式来完成,匹配新行的开头,像&&and之类的连词||,内联之后;等等......但我想知道是否有更简单的方法?

答案1

您可能会很高兴只需整理“单词”,然后通过“which”命令传递它们。也许像下面这样:

cat $SCRIPT | tr -c '[[:alnum:]-_]' '\\n' | sort -u | xargs which

短语中的单词排序规则tr排除了诸如此类的更“深奥”的命令[。这就是您可能需要进行试验的地方,除非您只是在寻找“普通”命令词。当然,上面的内容还找到了脚本中可能未使用的命令字,为了进行这种区分,您确实需要更多的解析器。您可能还需要一个首字母缩写,sed 's/#.*//而不是cat排除脚本中的注释(尽管这无法传递#字符串中包含的位置)。

相关内容