Перенаправление вывода системных вызовов с помощью perl в initramfs - PullRequest
0 голосов
/ 13 сентября 2011

У меня есть этот Perl-скрипт, который запускается с initramfs.Я столкнулся с кучей небольших проблем, я не понимаю, которые, безусловно, связаны с оболочкой.В частности, я спрашиваю о следующем:

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

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

Сбой при перенаправлении на / dev / null.В конечном счете, я хочу получить вывод:

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

Но это тоже не получается.

Вот ответ: e2fsck нужен терминал для интерактивного ремонта.Передача флага -y исправила это.Спасибо.

1 Ответ

0 голосов
/ 13 сентября 2011

Это потому, что ваш /bin/sh действительно /bin/dash? C.F. это обсуждение bad-fd-number и , это исправление , в котором есть некоторые предложения по использованию синтаксиса, совместимого с dash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...