#!/usr/bin/perl
$command = "SetBaseStationParam(\\\"PDP_ACTIVATION_REJECT\\\",0);"
system (boa.exp $command);
boa.exp script accetta questo comando di accesso a un computer Linux ed esegue lo script.Escaping doppi apici nello script expect
# /Usr/bin/expect
set timeout 5
set arg1 [lindex 0]
spawn ssh [email protected]
expect "password:"
send "pass\r"
expect "$"
send "$arg1\r"
expect "$"
Ma questo script è di rimuovere le prime virgolette nel comando e la stampa come
uscita è
SetBaseStationParam(\PDP_ACTIVATION_REJECT",0);
risultato atteso è
SetBaseStationParam("PDP_ACTIVATION_REJECT",0);
Per favore fatemi sapere se c'è qualche soluzione per questo
Non funzionava nemmeno con qq o virgolette singole ('). Ora l'output che è con qq o virgolette singole SetBaseStationParam (PDP_ACTIVATION_REJECT, 1) – Tkills
Provare a utilizzare il modulo di elenco, ad es. 'system (qw | boa.exp SetBaseStationParam (" PDP_ACTIVATION_REJECT ", 0) |);' quindi la shell fa il quoting stesso. – TLP