在ubuntu 14.04上运行Perl脚本

时间:2016-06-27 10:03:09

标签: perl

我正在运行以下perl脚本

#!/usr/bin/perl

use strict;

if ( @ARGV != 2 ){
print "usage: /usr/local/bin/htpasswd.pl <username> <password>\n";
}
else {
print $ARGV[0].":".crypt($ARGV[1],$ARGV[1])."\n";
}

但收到错误

  

-bash:意外令牌附近的语法错误`&lt;&#39;

我不明白为什么。 所以有人能告诉我为什么会出现这个错误吗? 伙计们抱歉我忘了告诉 我正在使用此脚本使用以下命令

创建htpasswd文件
/usr/local/bin/htpasswd.pl <user> <password> >> /etc/nagios/htpasswd.users

2 个答案:

答案 0 :(得分:2)

  

我忘了告诉我使用此脚本使用以下命令创建htpasswd文件/usr/local/bin/htpasswd.pl <user> <password> >> /etc/nagios/htpasswd.users

您必须使用要作为参数传递的用户名和密码替换<user><password>

e.g。

/usr/local/bin/htpasswd.pl bob 'TjV7!cdbta1AGs' >> /etc/nagios/htpasswd.users

<>在命令行中具有特殊含义,但在说明中它们只是表示占位符。

您收到的错误消息是因为您希望文件名使用STDIN时有第二个<

答案 1 :(得分:-1)

问题出在<user> <password>。使用适当的输入

例如

/usr/local/bin/htpasswd.pl test 'pass' >> /etc/nagios/htpasswd.users