+ -
当前位置:首页 → 问答吧 → 【刚学perl三天的新手求助】关于在perl中获取shell命令输出

【刚学perl三天的新手求助】关于在perl中获取shell命令输出

时间:2011-04-07

来源:互联网

操作系统:Ubuntu 10.04 LTS
Perl版本:This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi

问题:

~/perl$ perl
$total = `free -m|grep Mem|awk '{print $2}'`;
print $total;

Mem:           244        131        112          0         29         61

~/perl$ free -m|grep Mem|awk '{print $2}'
244

为什么同样的命令串,在shell下能得到我想要的数字,
在perl里面不行呢?好像在perl里面awk没有起作用啊?

为什么呢?
刚学perl三天,实在找不到头绪从哪里查找原因,请高手帮忙看看,
谢谢!

作者: qdice007   发布时间: 2011-04-07

搜了下帖子,找到原因了!

把命令串包含在内的``,是和""一样,会转义字符的,
awk里的$被转义了,在前面加上\ 就解决了问题。

真是不好意思,没好好搜帖子就乱问。

作者: qdice007   发布时间: 2011-04-07