我有 buildroot 只读可启动映像,它是通常情况下在 PXE 环境中通过 TFTP 加载。文件系统解压到 RAM 中并重新安装为 rw。我偶然想从 USB 启动它并修改根文件系统内容。所以我想到了一个“补丁”系统。
在只读图像中,我可以嵌入一些/etc/init.d
脚本,该脚本在启动时检查/dev/sd??
驱动器,尝试将它们安装到/mnt
(一次一个),寻找/mnt/patch.sh
脚本并执行它,然后卸载并继续到下一个驱动器。
所以基本上我想遍历系统中所有可用的驱动器分区。如何在 shell 脚本中执行此操作?(我使用 busybox)
在for
循环中,例如?
中的字符是否会/dev/sd??
相遇(我想避免)?/dev/sda
答案1
busybox 外壳不解释 bash。Debian灰(短跑) 变体 0.3.8-5 与 busybox 版本 0.52 (07/'01) 合并。
ash/dash 和 bash 之间存在一些差异。