[英]Escaping pipe in perl
我在perl中使用backtics和pipe时遇到了一些麻烦。 我有以下代码:
my @arr_lsdev = `lsdev -C | grep inet | awk '{print \$1}'` ;
print Dumper @arr_lsdev ;
但我得到以下错误:
sh[2]: 0403-057 Syntax error : `|' is not expected
我猜它与我的逃生命令有关。 我试过逃避| 但它仍会导致相同的错误。
操作系统:AIX
壳牌:KSH
请注意,错误在第2行。您实际上正在执行
my @arr_lsdev = `lsdev -C | grep inet
| awk '{print \$1}'` ;
您可以减少管道数量:
my @arr_lsdev = map {(split ' ')[0]} grep {/inet/} `lsdev -C`;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.