我必须在 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(挂断信号)终止信号将被发送到其子进程以结束它们。
这个问题将回答,如何在远程登录后执行脚本/命令。