|
Î㤨¤Ð¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÊѹ¹ºî¶È¤ò½ª¤¨¤¿¸å¤Ë¤â¤í¤â¤í¤Î¥¹¥Æ¡¼¥¿¥¹¤ò³Îǧ¤¹¤ë¥í¥°¤ò¼èÆÀ¤¹¤ë¤È¤¤Ê¤É¡¢ÂçÎ̤ε¡´ï¤ËÂФ·¤ª·è¤Þ¤ê¤Î°ìÏ¢¤Î¥³¥Þ¥ó¥É¤òÅêÆþ¤·¤¿¤¤¤È¤¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ó¤Ê¤È¤»ä¤Î¼þ°Ï¤Î¿Í¡¹¤Ï Tera Term ¤Î¥Þ¥¯¥í¤ò¶î»È¤·¤Æ¥³¥Þ¥ó¥É¥é¥¤¥ó¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¾å¤Ç¤Î°ìÏ¢¤Î¥³¥Þ¥ó¥É¼Â¹Ô¤ò¼«Æ°²½¤¹¤ë¤ï¤±¤Ç¤¹¤¬¡¢
»ä¤Ï¤¤¤Þ¤µ¤é Tera Term ¤Î¥Þ¥¯¥í¤ò³Ð¤¨¤ë¤è¤ê¤Ï¼êµö¤Ë¤¢¤ë expect ¤Î¥¹¥¯¥ê¥×¥È¤ò¤Á¤ç¤Ã¤Èľ¤·¤ÆºÑ¤Þ¤»¤¿¤¤¤È»×¤Ã¤Æ¤·¤Þ¤¦¤ï¤±¤Ç¤¹¡£
¥Þ¥¯¥í¤ÎÎà¤Ê¤É»È¤ï¤º¤Ë¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤òÍåÎó¤·¤¿¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¤«¤éüËö¥¨¥ß¥å¥ì¡¼¥¿¤Ø¥³¥Ô¡¼¡õ¥Ú¡¼¥¹¥È¤¹¤ë¤È¤¤¤¦¼ê¤â¤¢¤ê¤Þ¤¹¤¬¡¢
¤³¤Î¤ä¤êÊý¤ò¼è¤ë¤È°ìÈ̤˵¡´ï¤Î±þÅú¤òÂÔ¤¿¤º°ìÏ¢¤Î¥Æ¥¥¹¥È¤ò¥Ú¡¼¥¹¥È¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢²¿¤«¤ÎÇï»Ò¤Ë¥Ú¡¼¥¹¥È¤·¤¿¥³¥Þ¥ó¥É¤¬¤¤Á¤ó¤Èǧ¼±¤µ¤ì¤º¥¨¥é¡¼¤¬µ¯¤³¤ë¤È¤¤¤¦¤Î¤Ï¤¢¤ê¤¬¤Á¤Ê¤³¤È¤Ç¤¹¡£
¤½¤â¤½¤â¥³¥Ô¥Ú¤ÎϢ³¤Ê¤É¥¨¥ó¥¸¥Ë¥¢¤Îºî¶È¤È¤·¤Æ¤Ï¤É¤¦¤Ê¤Î¤«¤È¤¤¤¦ÌäÂê (?) ¤â¤¢¤ê¤Þ¤¹¡£
¤µ¤Æ¡¢expect ¤ò»È¤¤¤¿¤¤»þ¤Ï Cygwin ¤Î expect ¤ò»È¤¤¤Þ¤¹¡£¥Í¥Ã¥È¥ï¡¼¥¯±Û¤·¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ì¤Ð /usr/bin/telnet.exe ¤ò»È¤Ã¤Æ¥í¥°¥¤¥ó¤ò¤·¤¿¸å¤Ëµ¡´ï¤Î¥³¥Þ¥ó¥É¼Â¹Ô¤ò¤¹¤ë¥¹¥¯¥ê¥×¥È¤òºî¤Ã¤ÆÎ®¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤·¤«¤·¡¢¤â¤í¤â¤í¤ÎÍýͳ¤Ç¥·¥ê¥¢¥ë¥±¡¼¥Ö¥ë¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤»þ¤â¤¢¤ê¤Þ¤¹¡£
Tera Term ¤Ê¤é¤Ð¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤Ç¤â¥·¥ê¥¢¥ëÀܳ¤Ç¤â¤É¤Á¤é¤Ç¤âÌäÂê¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢expect ¤ò»È¤¦¤È¤¤Ï telnet ¤ÎÂå¤ï¤ê¤Ë¥·¥ê¥¢¥ëüËö¥¨¥ß¥å¥ì¡¼¥¿¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¡Ö¥·¥ê¥¢¥ëüËö¥¨¥ß¥å¥ì¡¼¥¿¡×¤È¤¤¤¦¸ÀÍդϤ«¤Ê¤ê¥Ë¥Ã¥Á¤ÊʬÌî¤Ç¥³¥ì¤È¤¤¤¦·èÄêŪ¤Ê¥½¥Õ¥È¤¬Ìµ¤¤¤è¤¦¤Ë»×¤¤¤Þ¤¹¡£
¤Ç¤¹¤Î¤ÇÁªÂò¤¬Æñ¤·¤¤¤È¤³¤í¤Ç¤¹¤¬¡¢»ä¤Î¾ì¹ç¤Ï jerm ¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£
²¿¸Î jerm ¤À¤Ã¤¿¤Î¤«¤Ïµ²±¤¬Ä꤫¤Ç¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤È¤ê¤¢¤¨¤º¥³¥ó¥Ñ¥¤¥ë¤·¤Æ»È¤Ã¤Æ¤¤¤ÆÌäÂ꤬¤Ê¤¤¤Î¤Ç¤½¤Î¤Þ¤Þ»È¤¤Â³¤±¤Æ¤¤¤Þ¤¹¡£
¤¿¤À¤·¡¢¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ï¤½¤ì¤Ê¤ê¤Ë¥½¡¼¥¹¤ò½¤Àµ¤·¤Æ¤¤¤Þ¤¹¡£
jerm-8095 ÍѤΥѥåÁ¥Õ¥¡¥¤¥ë¤Ï¤³¤Á¤é¤Ç¤¹¡£
¤½¤Î¤¦¤Á blog ¤Ç¼è¤ê¾å¤²¤è¤¦¤È»×¤¤¤Ä¤Ä¥³¥ó¥Ñ¥¤¥ë¤ò¤·¤¿¤Î¤¬´û¤Ë£±Ç¯°Ê¾åÁ°¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢¾ÜºÙ¤Ï³Ð¤¨¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢
º£¤½¤ÎÆâÍÆ¤ò¸«¤ë¤È¶ìÏ«¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¸å¤¬±®¤¨¤Þ¤¹¡£
ñ½ã¤Ë¥·¥ê¥¢¥ë¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¤È¤·¤ÆÆ°¤«¤¹¤³¤È¤Î¤ß¤òÌÜŪ¤È¤·¤¿¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ç¤¹¤Î¤Ç¡¢Â¾¤ÎÉղõ¡Ç½¤¬¤¤Á¤ó¤Èư¤¯¤«¤Ï»î¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¤´Ãí°Õ¤¯¤À¤µ¤¤¡£
getaddrinfo-1.6.3.tar.gz ¤òÍøÍѤµ¤»¤Æ¤¤¤¿¤À¤¤Þ¤·¤¿¤¬¡¢¤³¤ì¤Ï¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤µ¤Æ expect ¤ò»È¤Ã¤¿¥³¥Þ¥ó¥É¤Î¼Â¹ÔÎã¤Ç¤¹¡£
¤È¤ê¤¢¤¨¤º¡¢¥µ¥ó¥×¥ë¥ì¥Ù¥ë¤Ç¤¹¤¬¡¢°Ê²¼¤¬ expect ¥¹¥¯¥ê¥×¥È¤È¼Â¹Ô¤¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯µ¡´ï¤Î¥³¥Þ¥ó¥É¥Õ¥¡¥¤¥ë (Cisco Catalyst ÍÑ) ¤ÎÎã¤Ç¤¹¡£enable Íѥѥ¹¥ï¡¼¥É¤Ï cisco ¤È¤·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢COM2 (=/dev/ttyS1) ¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¸«¤Æ¤ªÊ¬¤«¤ê¤Î¤è¤¦¤Ë¡¢¥·¥ê¥¢¥ëÄÌ¿®¤ò³«»Ï¤·¤Æ¥×¥í¥ó¥×¥È¤ò½Ð¤· enable ¤¹¤ë¼ê½ç¤ò¡¢ while ʸ¤òÍѤ¤¤Æ¥×¥í¥°¥é¥à²½¤·¤Æ¤¤¤Þ¤¹¡£
docmd.exp
set timeout 2
match_max 100000
if {[llength $argv]>0} {
set filename [lindex $argv 0]
set enablep "cisco"
set fp [open $filename r]
set pid [spawn /usr/local/bin/jerm -r xnrn /dev/ttyS1]
set done ""
while {"$done" == ""} {
expect {
">" {
set timeout -1
send -- "enable\r"
expect "Password: "
send -- "$enablep\r"
}
"#" {
set done 1
}
timeout {
send -- "\r"
}
}
}
while {![eof $fp]} {
set cmd [gets $fp]
send -- "$cmd\r"
expect "#"
}
send -- "exit\r"
exec kill $pid
close $fp
close
}
status.cmd
terminal length 0
show clock
show interface
show route
show logging
¤³¤Î£²¤Ä¤òÍѤ¤¤Æ°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ì¤Ð¡¢status.log ¤Ë¼Â¹Ô·ë²Ì¤ò»Ä¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
expect docmd.exp status.cmd | tee status.log
expect ¤ò»È¤¦¤È¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ÈÁȤ߹ç¤ï¤»¤ÆÊ£¿ô¤Îµ¡´ï¤Ë¥Ñ¥é¥á¡¼¥¿¤òÄ´À°¤·¤Ê¤¬¤é telnet ¤Ç¥³¥Þ¥ó¥É¼Â¹Ô¤·¤¿¤ê¤È¤¤¤¦¤³¤È¤â½ñ¤¤ä¤¹¤¤¤Î¤Ç¡¢
½ÅÊõ¤·¤Æ¤¤¤Þ¤¹¡£
¤È¤¤¤¦¤«¤½¤Î¤è¤¦¤ÊÍÑÅÓ¤Ë Tera Term ¤Î¥Þ¥¯¥í¤è¤ê expect ¡Ü sh ¥¹¥¯¥ê¥×¥È¤òÁª¤Ö»ä¤¬ÓϹ¥¤¬º£¤Î»þÂå¤À¤ÈÆÃ¼ì¤«¤âÃΤì¤Þ¤»¤ó¤¬¡£
expect ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¿¤¯¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢Tcl ¤Î³ÈÄ¥¤Ê¤Î¤Çʸˡ¤Ï Tcl ¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤ì¤Ð¥ª¥Ã¥±¡¼¤Ç¤¹¡£
2007. 8. 10 Äɵ
¥³¥á¥ó¥ÈÍó¤Ë¤¢¤ëÄ̤ꡢ
jerm ºî¼Ô¤ÎÊý¤¬¡¢¥Ñ¥Ã¥Á¤ÎÆâÍÆ¤ò¼è¤ê¹þ¤ó¤À¿·¥Ð¡¼¥¸¥ç¥ó¤ò¥ê¥ê¡¼¥¹¤·¤Æ¤¯¤À¤µ¤¤¤Þ¤·¤¿¡£ ¥Ð¥¤¥Ê¥êÈǤâ¹ç¤ï¤»¤Æ¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Cygwin ¤Ç¥·¥ê¥¢¥ëÄÌ¿®¥×¥í¥°¥é¥à¤òõ¤·¤Æ¤¤¤ëÊý¤Ï¤Þ¤º jerm ¤ò»î¤·¤Æ¤ß¤Æ¤Ï¤¤¤«¤¬¤Ç¤·¤ç¤¦¡©
¾¤Î¡Ö¥³¥ó¥Ô¥å¡¼¥¿¤â¤í¤â¤í¡×¤Ë´Ø¤¹¤ëµ»ö¤ò¸«¤ë¡ª
|