这是Shell脚本的一部分。 这是检查磁盘使用情况。 我想知道它如何转换为perl脚本? 请帮助我。
DFCMD="df -P"
for fs in `eval $DFCMD`; do
FS=`echo $fs | awk ' { print $1 } '`
done
由于
答案 0 :(得分:1)
可能有一个1行,但我会这样做(未经测试)
my @command = qw/df -P/;
open(my $in, "-|", @command) or die "Can't run `@command`: $!";
while(<$in>) {
my ($first_col) = split;
print "$first_col\n";
}
答案 1 :(得分:1)
perl -le 'print /(\S+)/ for `df -P`'
答案 2 :(得分:0)
好吧,在perl中,经常使用system()函数来执行shell命令,但是system()函数不能返回命令的输出。你可以使用反引号(``)来获取输出。使用输出,您可以将shell脚本转换为perl脚本
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 my @output = split('\r\n', `df -P | awk '{print \$1}'`);
6 print @output;