1

私がやろうとしているのは、ファイル A を検索できるようにする期待スクリプトを作成することです。ファイル A が見つかった場合は、一連のコマンドを送信します。ファイル B または C が見つかった場合は、スクリプトを続行します。私は正規表現に行き詰まり続けています。探しているデータだけで www.myregextester.com を介して式を実行すると、うまく一致します。誰かがこれについて何か経験があれば、私は本当に助けていただければ幸いです.

send "term length 0\r"
expect "*#"
send "wr mem\r"
expect "*#"
send "dir flash:\r"
expect 
    if [[ \bc3750-ipservicesk9-mz.122-55.SE7.bin\b ]]; then {
        send "conf t\r"
        expect "*(config)#"
        send "boot system flash:c3750-ipservicesk9-mz.122-55.SE7.bin\r"
        expect "*(config)#"
        send "exit\r"
        expect "*#"
        send "reload at 02:00 8 June\r"
        expect "System configuration has been modified. Save? [yes/no]:"
        send "yes\r"
        expect "Proceed with reload? [confirm]"
        send "\r"
        expect "*#"
        send "wr\r"
        expect "*#"
        send "exit\r
        expect eof
    elif [[ \bc3750-ipservicesk9-mz.122-55.SE5\b | b\c3750-ipservicesk9-mz.122-55.SE5.bin\b} ]]; then
fi
}
4

1 に答える 1

2
expect {
    -re {\mc3750-ipservicesk9-mz\.122-55\.SE7\.bin\M} {
        send "conf t\r"
        #...
    }
    -re {\mc3750-ipservicesk9-mz\.122-55\.SE5(?:\.bin)?\M} 
}

Expect は Tcl の拡張です。Tcl の正規表現については、こちらを参照してください。

于 2013-06-12T12:10:39.447 に答える