2017-07-27 3 views
0

私はshow allコマンドを実行するためにHPE仮想接続モジュールに出る予定のスクリプトを持っています。私はプロンプトを "期待" していたときにしかし、 " - >"、エラーを取得イム:Linuxはプロンプトでハイフンを期待しています

bad flag "-> ": must be -glob, -regexp, -exact, -notransfer, -nocase, -i, -indices, -iread, -timestamp, -timeout, -nobrace, or -- 
while executing 
"expect "-> "" 
(file "./expect_vc_showall.ziUzpF" line 10) 

ここでは私のコードです:

#!/usr/bin/expect -f 
set timeout 60 
set ip_hostname [lindex $argv 0]; 
#log_user 0 
spawn ssh [email protected]$ip_hostname 
expect { 
    "*yes/no*" { send "yes\r"; exp_continue } 
    "*assword:" { send "password123\r" } 
    } 
expect "-> " 
send "show all\r" 
#log_user 1 
expect "-> " 
send "exit\r" 

私が期待し使用しようとしました - 「 - > "しかし、それは私をただちに促し、死にます。ここで

は、プロンプトは次のようになります。私は期待していない場合

Last login: Thu Jul 27 17:09:28 2017 from 172.16.100.78 
------------------------------------------------------------------------------- 
HP Virtual Connect Management CLI v4.41 
Build: 4.41-6 (r315367) Mar 5 2015 13:59:31 
(C) Copyright 2006-2015 Hewlett-Packard Development Company, L.P. 
All Rights Reserved 
------------------------------------------------------------------------------- 


GETTING STARTED: 

help   : Displays a list of available subcommands 
exit   : Quits the command shell 
<subcommand> ? : Displays a list of managed elements for a subcommand 
<subcommand> <managed element> ? : Displays detailed help for a command 

-> 

「>」は、最初のサブコマンドのテキストで死にます。

これを動作させる方法はありますか?

ありがとうございます! ジョー

+0

「\ - >」のようにエスケープするのはどうですか? –

+0

それも試してみてください。それは私をプロンプトに連れて来ます。ショーをすべて送信しないでください。 – Joe

答えて

1

で始まらないグロブパターンを使用して行うことができます期待のデフォルトのパターンタイプはグロブあり、

expect -gl "-> " 

ただし、パターンにはグロブ文字が含まれていません。正確なフラグを使用することもできます:

expect -ex "-> " 
+0

これはそれでした!助けてくれてありがとう! – Joe

0

あなたは

expect -- "-> " 

またはハイフン(ずっとメシエ)

expect {[-]> } 
+0

こんにちは。ありがとう!私は月に仕事に戻るときにこれを試してみる必要があります。私は期待してみました - " - >"しかし、それはちょうどコマンドを待っている - >プロンプトに私を連れて来ました...それは次の行でshow allコマンドを送信しませんでした。 私はグロブパターンを試し、その動作を見てみましょう。 ありがとう! – Joe

+1

expectスクリプトを開発する際には、 'expect -d script.exp'が非常に便利です。 –

+0

グレンの情報ありがとう! – Joe

関連する問題