[英]Using expect on a Mac to access a router via telnet
我正在嘗試在Mac上編寫腳本,該腳本應通過telnet訪問路由器。 這是為了增強路由器的功能,而這是無法通過Web完成的。
問題是telnet通道被阻止,為了解鎖它,我需要運行以下指令:
/users/shared/telnetenable - 200CC8132A36 admin password >/dev/udp/192.168.0.1/23
現在,我可以打開一個telnet連接,但是為了將命令發送到路由器,我需要按預期進行所有操作。 因此,我的文件開始於:
#!/usr/bin/expect -f
並且所有指令之前都產生了代碼,例如
spawn telnet 192.168.0.1
而發送到路由器的命令是:
send "wl -a wl0 txpwr 100\n"
我的問題是,我不知道如何通過生成在路由器上解鎖telnet的指令來運行。 有誰能夠幫助我?
您不必使用spawn
來運行非交互式命令。 Tcl
的exec
命令就足夠了。 例如:
#!/usr/bin/expect
# the ``/dev/udp/host/port'' syntax is bash specific
exec bash -c "/users/shared/telnetenable - 200CC8132A36 \
admin password > /dev/udp/192.168.0.1/23"
spawn telnet 192.168.0.1
... ...
Expect
還具有system
命令,因此您也可以
system "/users/shared/telnetenable - 200CC8132A36 \
admin password > /dev/udp/192.168.0.1/23"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.