使用 -x 运行 shell 脚本来调试系统 v 启动

使用 -x 运行 shell 脚本来调试系统 v 启动

我需要调试启动过程的用户空间部分,并希望sh -x默认运行所有脚本,以便我可以观察启动过程中发生的情况。

它是一个使用 busybox 提供的嵌入式系统sh/bin/sh是一个链接到buysbox.

是否可以对解释器进行系统明智的更改,从shsh -x

答案1

在我的系统上有一个指向 dash 的链接,因此我可以用执行并传递命令行参数/bin/sh的程序替换该链接。/bin/dash -x

如果你的/bin/sh是二进制文件。然后将其复制到/bin/sh.org并执行与上面相同的操作,但执行/bin/sh.org -x而不是dash.

您必须以 root 用户身份进行这些更改。

如果/bin/sh是一个链接,busybox您仍然可以执行上述操作:移动busyboxbusybox.org并创建一个二进制文件busybox来检查它是否被调用sh(这本质上是原始 busybox 为获取其各种身份所做的操作)。如果是这样,请-x在其余命令行参数之前插入并调用busybox,如果不是(即不称为 as sh),则只需使用命令行参数调用 busybox 即可。

然而,此时下载 busybox 的源代码、将源更改为始终假定调用、编译并安装(无论如何都要备份原始 busybox 二进制文件)可能会更-x容易sh

相关内容