Печать вывода внешней команды из сценария Perl - PullRequest
0 голосов
/ 23 января 2012

Моя задача - напечатать информацию для пользователя, который запускает этот скрипт в терминале.
Информация, которую мне нужно распечатать, это информация, которую я получаю при записи:

parted /dev/... print

Есть ли файл сту же информацию, чтобы я мог открыть и распечатать ее с помощью сценария Perl,
, если нет, то я действительно не знаю, как получить информацию о том, какой раздел является «загрузочным»
и размер каждого раздела

Такое ощущение, что я искал по всему интернету, может, я просто плохо искал
правильных параметров, но я потерян, и любая помощь приветствуется

Ответы [ 2 ]

5 голосов
/ 23 января 2012

Вы можете запустить команду и захватить вывод

open my $cmd, '-|', 'parted', '/dev/...', 'print' || die "Can't run command: $!";

while (<$cmd>) {
    # do something with $_, e.g.
    print;
}

close $cmd || die "Error while closing off command: $!";
3 голосов
/ 23 января 2012

Вот для чего используются обратные галочки (`):

print `parted /dev/... print`;

print qx(parted /dev/... print);     # Another way to do it

my $output = `parted /dev/... print`;  # Save to variable

...

print $fh $output;   # Use later

См. perldoc perlop для получения дополнительной информации.

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