【发布时间】:2013-08-15 22:18:35
【问题描述】:
我无法将 unix 命令的返回值放入 perl 变量中。
Unix 命令:
#nc -z 8.8.8.8 441; echo $?
1
Perl 命令:
#perl -e 'my $pstate=`nc -z 8.8.8.8 441; echo $?`; print $pstate;'
0
所以 perl 命令似乎得到了“无错误”的返回值?如何正确捕获 *nix 命令的返回值?
另一个例子:
#perl -e 'my $pstate=`ping -v 8.8.8.8 -c 1`; print $pstate;'
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
这会返回正确的值。那么我首先做错了什么?
【问题讨论】:
标签: perl shell return-value