gpt4 book ai didi

regex - 如何修复 Perl Getopt::Long 事件未找到错误?

转载 作者:行者123 更新时间:2023-12-05 09:23:05 25 4
gpt4 key购买 nike

我正在使用 Getpt::Long 从命令行获取参数并将它们分配给各自的变量。但是,打印时出现错误。代码及报错如下:

#!usr/bin/perl

use strict;
use warnings;
use Getopt::Long;

GetOptions(
"mount_path=s" => \my $old_path,
"var=s" => \my $var,
"log_path=s" => \my $log_path,
) or die "Error in input variables\n";

print <<"END_INPUTS";
These are your inputs:
old_path= $old_path
var = $var
log_path=$log_path
Press enter twice if all looks GOOD
*********************************************************
END_INPUTS

命令行参数如下:

 perl getvar.pl --mount_path=/var/sslvpn --var=7.0.0.2_va-SSLVPN-!7.0.0.2.16sv+.jpn-05!j+g_554863- --log_path=log.txt  

运行时出现以下错误

-bash: !7: event not found

最佳答案

这不是 Perl 问题。 bash shell 将 ! 作为特殊字符处理。你必须引用那个论点。

 --var='7.0.0.2_va-SSLVPN-!7.0.0.2.16sv+.jpn-05!j+g_554863-' 

您可以判断这是一个 bash 问题而不是 Perl 问题,因为消息说它来自 bash:

-bash: !7: event not found

Bash 甚至从未到达它运行程序的部分。

关于regex - 如何修复 Perl Getopt::Long 事件未找到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24253420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com