我有这个与initramfs一起运行的perl脚本。我遇到了一些我不明白的小问题,这些问题肯定与shell有关。我要问的具体问题是:
system("/sbin/e2fsck -f $dev");
system("/sbin/e2fsck -f $dev >/dev/null");
重定向到/ dev / null的失败。最终,我想抓住输出:
open IN, "/sbin/e2fsck -f $dev |";
但这也失败了。
这是答案: e2fsck需要一个终端进行交互式修复。传递-y标志固定了。感谢。
答案 0 :(得分:0)
是因为您的/bin/sh
真的是/bin/dash
吗? C.F. this discussion on bad-fd-number和this fix,其中包含使用与dash
兼容的语法的一些建议。