linux - Bash 并行 dd 和 mkfs

标签 linux bash grep dd

嘿,你们这些伟大的编码人员,

起初我是 bash 的新手,只有一些 Java 经验。 现在我的任务是制作一个脚本,使在 linux 机器上尽可能快速和自动地闪存几百个 USB 驱动器成为可能,这不应该改变。 所以没有安装更多的包。

现在开始问题: 我已将任务拆分为两个脚本。

过滤 lsusb 并搜索正确的设备,然后使用设备 ID 启动后台进程以复制图像并执行一些分区操作。

主脚本同时过滤新设备并创建一个新的后台进程来为它们复制。 当没有更多适合的设备时,主脚本等待所有后台进程完成,然后要求用户拔出所有设备并将下一批插入。

目前,除了 dd 在一个等待另一个后台进程完成的后台进程之外,它工作得很好。因为它们应该并行运行并且启动 dd 的进程有不同的 pid,所以我不知道为什么要等待。

这是脚本的一部分:

第一个参数是序列号,第二个参数是要复制的镜像文件名

最佳答案

您可以尝试将 sync 从第 8 行移动到上面的行 echo "all connected devices are flashed, please change devices" 或您等待后的另一行(wait $i) 等待所有操作完成。

关于linux - Bash 并行 dd 和 mkfs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43503074/

相关文章:

c - syslog.conf 配置仅登录到自定义日志文件,

regex - 如何使用 grep 命令列出基于点的名称

linux - 使用列作为参数过滤文件中的重复项(grep linux)

regex - 如何使用 sed 只删除双空行?

linux - 保持 OrientDB 服务器在 AWS EC2 上运行

bash - 除非另一个字符串匹配,否则如何使用 'grep' 来匹配一个字符串?

bash - shell 脚本是否可以指示其行最初已加载到内存中?

linux - 无法从 shell 脚本中更改目录

linux - 显示文件中正则表达式超过 'n' 次的行

linux - 为什么当我通过 shell 脚本创建 .txt 文件时,问号出现在文件名的末尾?