小编Tki*_*lls的帖子

在期望脚本中转义双引号

#!/usr/bin/perl

$command = "SetBaseStationParam(\\\"PDP_ACTIVATION_REJECT\\\",0);"
system (boa.exp $command);
Run Code Online (Sandbox Code Playgroud)

boa.exp脚本将此命令登录到linux机器并执行脚本.

# /Usr/bin/expect 
set timeout 5
set arg1 [lindex 0]
spawn ssh root@10.xx.xx.xx

expect "password:" 
send "pass\r"
expect "$" 

send "$arg1\r"
expect "$"
Run Code Online (Sandbox Code Playgroud)

但是这个脚本正在删除命令中的第一个双引号并将其打印为

输出是

SetBaseStationParam(\PDP_ACTIVATION_REJECT",0);
Run Code Online (Sandbox Code Playgroud)

预期的产出是

SetBaseStationParam("PDP_ACTIVATION_REJECT",0);
Run Code Online (Sandbox Code Playgroud)

如果有任何解决方案,请告诉我

perl expect

5
推荐指数
1
解决办法
3107
查看次数

标签 统计

expect ×1

perl ×1