0

我有这个与 initramfs 一起运行的 perl 脚本。我遇到了一堆我不明白的小问题,这些问题肯定与外壳有关。我要问的具体是这样的:

system("/sbin/e2fsck -f $dev");

system("/sbin/e2fsck -f $dev >/dev/null");

重定向到 /dev/null 的那个失败了。最终,我想获取输出:

open IN, "/sbin/e2fsck -f $dev |";

但这也失败了。

答案是:e2fsck 需要一个终端来进行交互式修复。传递 -y 标志解决了这个问题。谢谢。

4

1 回答 1

0

是因为你/bin/sh是真的/bin/dash吗?参见关于 bad-fd-number 的讨论这个修复,其中有一些关于使用与dash.

于 2011-09-13T06:10:56.030 回答