我有这个与 initramfs 一起运行的 perl 脚本。我遇到了一堆我不明白的小问题,这些问题肯定与外壳有关。我要问的具体是这样的:
system("/sbin/e2fsck -f $dev");
system("/sbin/e2fsck -f $dev >/dev/null");
重定向到 /dev/null 的那个失败了。最终,我想获取输出:
open IN, "/sbin/e2fsck -f $dev |";
但这也失败了。
答案是:e2fsck 需要一个终端来进行交互式修复。传递 -y 标志解决了这个问题。谢谢。