分析shell脚本

时间:2010-01-13 11:29:58

标签: parsing scripting shell

这将是逆向工程项目的一部分。

要确定并记录shell脚本(ksh,bash,sh)的作用,如果您有关于其调用的其他程序/脚本的信息,那么它很舒服。

如何自动执行此任务?你知道任何可以解析shell脚本的程序或框架吗?这样一来,我可以识别外部命令调用 - 向正确方向迈出的一步。

5 个答案:

答案 0 :(得分:1)

对于bash / sh / ksh,我认为您可以轻松修改其源以记录已执行的内容。那将是一个解决方案。

答案 1 :(得分:1)

怎么样:

  1. 获取该脚本中不同字词的列表

  2. 搜索$ PATH以查找每个

  3. 的匹配

答案 2 :(得分:0)

bash -v script.sh?

答案 3 :(得分:0)

Bash的xtrace是你的朋友。

您可以使用以下方式调用它:

  • set -x位于脚本顶部,
  • 通过bash -x(或甚至bash --debugger -x
  • 调用您的脚本
  • 或通过(set -x; export SHELLOPTS; your-script; )
  • 递归递归

答案 4 :(得分:0)

如果您无法实际运行该脚本,请尝试将其加载到支持Bash语法高亮的文本编辑器中。它将对所有文本进行颜色编码,并有助于指出什么是保留字,变量,外部命令等。