我为Linux编写了一个非常简单的perl脚本,以确定当前登录的用户。 但是,在尝试运行它时,我不断收到以下错误:
bash: use: command not found
bash: my: command not found
bash: ./test.pl: line 9: syntax error near unexpected token `else'
bash: ./test.pl: line 9: `} else {'
这是我的代码:
#!/usr/bin/perl
use strict;
my $loginName = '';
if ($^O =~ /MSWin/i)
{
$loginName = getlogin;
} else {
#else it is unix
$loginName = getpwuid($<);
}
print $loginName;
我试图谷歌这个但我不知道我的if语句出错了什么?它在Windows上运行良好。
谢谢
答案 0 :(得分:2)
您正在错误地调用脚本:这些错误显然来自bash
,而perl
应该正在运行脚本。
我不知道你现在是怎么运行的,但是(假设它的文件名是mywhoami
)你可以随时明确地调用perl
:
perl mywhoami
它也可以使其可执行
chmod a+x mywhoami
然后执行它:
./mywhoami
答案 1 :(得分:0)
我认为这是你运行脚本的方式。 请尝试按以下方式运行:
$perl <script.pl>