目前我有一個腳本,它從下面的菜單響應中提取行號,它具有我對「SalVhugoV3」感興趣的SNMP用戶。regexp匹配捕獲和exp_send
以下是在藍色
菜單響應選擇一個SNMP用戶: 1)cmssnmp 2)圖譜 3)SalVhugoV3 輸入選擇(1-3):
的該工作部分腳本查找包含「SalVhugoV3」的字符串,並取走選項#3,因爲這是它正在查找的用戶的選項。然後發送「3」作爲「Enter choice」提示的snmpuserChoice。
選擇V3用戶從列表/菜單,grep命令$ V3USER,並將其發送的數字
expect -re ".*\\(.*\\):" {
append rawOut $expect_out(buffer)
regexp { .*(([0-9])\) [puts $V3USER].*) } $expect_out(buffer) cmdOut snmpUser snmpUserChoice
exp_send -- "$snmpUserChoice\r"
}
我試圖做同樣的事情,但這種擴展的響應,你可以看到該選項在這種情況下,我正在尋找的用戶是選項「5」,因爲它在字符串的末尾包含「SalVhugoV3」。我相信這是需要改變的「regexp {。 (([0-9]))[放置$ V3USER]。)}「但我不完全如何修改它以便抓住選項」5「號碼,因此它可以通過」exp_send「發送。
選擇一個SNMP連接來刪除: 1)連接到NMS:主機135.9.60.143,端口162,用戶cmssnmp 2)連接到SAL:主機135.9.158.252,端口162,用戶cmssnmp 3)連接到SAL:主機135.9.158.236,端口162,用戶cmssnmp 4)連接到NMS:主機135.105.6.67,端口162,用戶地圖集 5)連接到SAL:主機135.60.25.147,端口162,用戶SalVhugoV3 Enter choice 1-5):
選擇V3用戶從列表/菜單,grep命令$ V3USER,並將其發送的數字
expect -re ".*\\(.*\\):" {
append rawOut $expect_out(buffer)
regexp { .*(([0-9])\) [puts $V3USER].*) } $expect_out(buffer) cmdOut snmpUser snmpUserChoice
exp_send -- "$snmpUserChoice\r"
}