![](/img/trans.png)
[英]syntax error near unexpected token `(' when executing in perl script
[英]syntax error near unexpected token `|' Perl code
我正在尝试在我的Perl脚本中执行此操作
my $command = `ps -p $pidnumber | wc -l`;
但是当我运行脚本时,会显示以下内容:
sh:-c:第1行:意外令牌'|'附近的语法错误
sh:-c:第1行: wc -l'
可能是哪个错误?
$pidnumber
是否$pidnumber
结尾? 请参阅chomp
功能。
在执行命令之前尝试打印,因为$pidnumber
可能有些奇怪:
my $command_str = "ps -p $pidnumber | wc -l";
print $command_str, "\n";
my $command = qx!$command_str!;
如@mob所说,如果换行符出现在换行符中,请使用chomp。
我同意其他答案,即在管道之前添加换行符很可能是原因
但是该命令实际上并不需要管道!
强制带引号的命令以列表的形式返回其值,然后获取列表的长度,然后得到wc -l“行数”
my $command_str = "ps -p $pidnumber";
my $linecount = () = qx!$command_str!;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.