我必須在 telnet 會話中模擬按鍵,並且所有內容都必須由 shell 腳本呼叫。
#!/bin/sh
telnet 192.168.1.14 50000
xdotool type "404"
然而,一旦 telnet 會話發生,它必須在 xdotool 實際執行之前結束。有沒有辦法在telnet運作時進行按鍵模擬?
答案1
下面的腳本為我做到了。
#!/bin/sh
gnome-terminal --title="Telnet" -x telnet 192.168.1.14 50000
WID=`xdotool search --class "Telnet" | head -1`
xdotool windowactivate $WID
xdotool type "404"
xdotool key "KP_Enter"
它在標題為「Telnet」的新視窗中建立一個 telnet 會話。找到xdotool search
該視窗並聚焦在其中,然後xdotool type
用於模擬按鈕。
答案2
nohup
諸如和之類的進程控制命令disown
可讓您輕鬆啟動長時間運行的進程,並讓它們即使在登出/結束會話後也保持運行。
當您執行 shell 會話時,您在命令列中執行的所有進程都是該 shell 的子進程。如果您登出或會話崩潰或意外結束,SIGHUP(掛斷訊號)終止訊號將被傳送到其子進程以結束它們。
這個問題將回答,如何在遠端登入後執行腳本/命令。