在perl脚本中使用awk时,如何获得返回值?
问题描述:
我试图提交给$处理此系统调用的结果在perl脚本中使用awk时,如何获得返回值?
my $process= system "adb shell ps | egrep adb | awk '{print $1}' ";
但是当print " $process \n";
我有零项
任何建议
答
我刚刚发现了关于SO本身的更详细的解释。编辑添加该链接 - What's the difference between Perl's backticks, system, and exec?
pmod提到的是正确的。因为我一直在做这一点最近阅读,只需添加评论什么,我发现:
system
执行命令,并且命令完成后继续您的Perl脚本。它返回命令的退出状态。
backticks - ` `
这就像是系统,执行你启动的命令并等待它返回。但是,与系统不同,该命令返回STDOUT。我认为这是你在这里寻找的东西。
exec
用新进程替换当前并且不返回任何内容。
希望帮助...
+0
感谢您的信息 – Koby 2011-03-24 13:24:32
好吧这看起来就像$ process得到egrep adb的结果,而不考虑awk – Koby 2011-03-24 07:45:14
所以当调用我的$ process ='adb shell ps | egrep adb | awk'{print \ $ 1}'我得到了我需要的东西,谢谢 – Koby 2011-03-24 07:48:19