加上反斜杠转义一下就好了

2011/3/10 Gary.jsz <[email protected]>

> 大家好!
>
>
>
>     
> 我想在perl程序中得到linux系统的一些值,使用shell比较方便实现,但是有个问题,就是perl把shell的变量当作了自己的变量来替换了,比如:
>
> ps aux |awk "BEGIN { print '%CPU %MEM %STAT PID COMMAND' } { if ('$3' > 25
> || '$4' > 25 || '$8'~/Z/ && '$8'!~/Z</) print '$3', '$4', '$8', '$2',
> '$11'}" |sort
>
>
> 上面命令,在linux系统上面是跑的很正常的,但是,如果放到perl程序中,所有的变量都变成了perl的了,有什么方法可以在perl程序中,完整的得到此命令的输出结果?
>
> 比如:
>
> my $ps = `ps aux |awk "BEGIN { print '%CPU %MEM %STAT PID COMMAND' } { if
> ('$3' > 25 || '$4' > 25 || '$8'~/Z/ && '$8'!~/Z</) print '$3', '$4', '$8',
> '$2', '$11'}" |sort`
>
> 而$ps却得不到想要的值。
>
>
>  --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

回复