Linux 如何在shell脚本中等待模块加载?

Linux 如何在shell脚本中等待模块加载?,linux,shell,Linux,Shell,我正在尝试编写一个shell脚本,它应该首先加载内核模块 modprobe wlcore_spi 下一步应等待该过程完成(std“wlcore loaded”上的输出),然后继续。但如何才能做到这一等待行动?我试过: modprobe wlcore_spi wait echo "hello world" 好像没有我想象的那么有效。 我搜索了它,似乎最好的方法是找到pid,然后简单地等待它。 然后我开始这项工作,然后键入“ps aux”,似乎它不在过程中?它似乎不知何故启动了另一个过程,并最终

我正在尝试编写一个shell脚本,它应该首先加载内核模块

modprobe wlcore_spi
下一步应等待该过程完成(std“wlcore loaded”上的输出),然后继续。但如何才能做到这一等待行动?我试过:

modprobe wlcore_spi
wait
echo "hello world"
好像没有我想象的那么有效。 我搜索了它,似乎最好的方法是找到pid,然后简单地等待它。
然后我开始这项工作,然后键入“ps aux”,似乎它不在过程中?它似乎不知何故启动了另一个过程,并最终在完成时返回一个信号。我怎样才能抓住这个问题?

您可以在您的案例中使用&&选项

modprobe wlcore_spi && echo "hello world"

因此,当命令A成功退出时,命令B将被执行。

当modprobe退出时,命令B将被执行。@iPorSi。我更新了更多详细信息。modprobe是一个在完成任务后终止的进程。所以你应该没事做,就像Ipor Sircer说的那样。但是,如果您愿意,您可以解析modprobe的输出,或者它的标准错误,或者lsmod(8)的输出,或者“cat/proc/modules”的输出。@linuxfan我得到了它。我可以写一个循环来检查模块是否已经加载?许多thnx.可能是,但您可以简单地使用modprobe并依赖它:如果模块已经加载,则不会发生任何事情;否则modprobe将加载它。很简单,我真的不明白你的问题。