我知道有一种方法可以将 bash shell 输出写入文件。但是,我想知道应用程序执行了哪些命令,因为其中一些执行不会作为 shell 输出输出。
那么,有没有办法将执行的命令(包括输出)写入文件?
答案1
如果你通过以下方式调用来运行 bash 脚本:
bash -x yourbashscript.sh
您将看到命令以及运行命令所产生的输出。
答案2
-x
如果你使用(例如)执行脚本bash -x <script>
,你将看到每个输出。如果你想正常运行它而不看到输出(但也将其重定向到文件),你可以这样做 bash -x <script> 2>/dev/null
通常,-x
位打印到 stderr (2) 而不是 stdout (1)。
您可以set -x
从脚本内部将您想要的位置(以及set +x
当不需要时)将所有 STDERR 重定向到如上所示的文件(scriptname.bash 2>coolfile.txt
)。
除此之外,您还需要借助 perl 或 python。