繁体   English   中英

意外标记'|'附近的语法错误 Perl代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM