5
#!/usr/bin/perl
$command = "SetBaseStationParam(\\\"PDP_ACTIVATION_REJECT\\\",0);"
system (boa.exp $command);
boa.expスクリプトはこのコマンドをLinuxマシンにログインし、スクリプトを実行します。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 "$"
しかし、このスクリプトは、コマンドの最初の二重引用符を削除し、
出力として、それを印刷している
SetBaseStationParam(\PDP_ACTIVATION_REJECT",0);
の予想される出力は
SetBaseStationParam("PDP_ACTIVATION_REJECT",0);
です私に知らせてくださいこのための解決策があれば
qqや一重引用符( ')を使用しても機能しませんでした。 qqまたは一重引用符で囲まれた出力 SetBaseStationParam(PDP_ACTIVATION_REJECT、1) – Tkills
リスト形式を使用してみてください。 'system(qw | boa.exp SetBaseStationParam(" PDP_ACTIVATION_REJECT "、0)|);'次に、シェルは引用自体を行います。 – TLP