[問題] spawn的問題
我要寫一個透過RS232去控制某一個Terminal的shell script
目前有兩支,一支是login到terminal,另外一支是執行某個command
執行步驟是先呼叫login這支script接著再呼叫另外一支執行command
因為執行script都是產生一個新的proess去做
所以當我呼叫第一支去login的時候(有成功)
接著第二支要透過RS232去執行command的時候
因為RS232所有權已經被login這支process佔住了
就沒有辦法透過RS232去執行command
爬了文還有google
找到的都是telnet或ssh到某個server
有沒有人知道要怎麼讓第一支login的process release掉RS232的所有權?
我的expect版本是5.43.0
下面是那兩支script的內容
#login to terminal
#!/usr/local/bin/expect
set force_conservative 1
set send_slow {1 .2}
spawn tip -115200 com1
expect "請輸入代號:"
send -s "aaa\r"
expect "請輸入密碼:"
send -s "bbb\r"
exit
#exec command
#!/usr/local/bin/expect
set force_conservative 1
set send_slow {1 .2}
spawn tip -115200 com1
send -s "ccc\r" #exec command
exit
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.188.111
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
FreeBSD 近期熱門文章
PTT數位生活區 即時熱門文章