首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >perl中的转义双引号

perl中的转义双引号
EN

Stack Overflow用户
提问于 2016-11-06 21:55:33
回答 1查看 252关注 0票数 0

当我将变量$local_ntwk_ao_vpn ("X0子网“)传递给perl脚本时,它只接受了"X0”并丢失了“X0”部分。我试图像下面这样避开双引号,但还是没起作用。任何帮助都是非常感谢的。

代码语言:javascript
复制
#!/usr/bin/perl
use Expect;
#Assume the first 20 args are OK
my $local_ntwk_ao_vpn    = $ARGV[20];   # <-----"X0 Subnet"

# Telnet into the remote firewall
my $expect = Expect->new();
$expect->spawn("telnet 10.100.100.100 6025");
$expect->send("\n");
sleep(3);
$expect->expect( 10, 'User:' );
$expect->send("aUser\n");
$expect->expect( 10, 'Password:' );
$expect->send("password\n");
$expect->expect( 5, '>' );

$expect->send("configure\n");
$expect->expect( 5, '#' );

$expect->send("vpn policy site-to-site TESTVPN\n");
$expect->expect( 5, '#' );
$expect->send("network local name \"$local_ntwk_ao_vpn\"\n");  # <-- Still doesn't work here.
$expect->expect( 5, '#' );
$expect->send("exit\n");
$expect->send("end\n");
$expect->soft_close();

错误日志:

代码语言:javascript
复制
(edit-site-to-site[TESTVPN])# network local name "X0"
% Error encountered at '^' marker:
    network local name "X0"
                       ^^M
% Error: No matching command found.
(edit-site-to-site[TESTVPN])# exit

想要的命令:

代码语言:javascript
复制
 (edit-site-to-site[TESTVPN])# network local name "X0 Subnet"
EN

回答 1

Stack Overflow用户

发布于 2016-11-07 00:27:45

我相信你对$ARGV[20]包含X0 Subnet的看法是错误的。它似乎只包含X0

你用过

代码语言:javascript
复制
script.pl ... X0 Subnet ...

当你应该用

代码语言:javascript
复制
script.pl ... 'X0 Subnet' ...
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40454969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档