我想在用户退出以 SSH 连接启动的程序后立即关闭 SSH 连接。我当前的脚本是
#!/usr/bin/expect
set login "pi"
set addr "192.168.0.102"
set pw "password"
spawn ssh -X $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "wpa_gui; exit\n"
interact
当我退出 wpa_gui 应用程序时,我得到
logout
之后没有提示或任何内容,它只是说logout
。我必须关闭窗口^C
如果我尝试在没有 X11 的情况下做类似的事情,它会起作用
#!/usr/bin/expect
set login "pi"
set addr "192.168.0.102"
set pw "password"
spawn ssh $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "man ls; exit\n"
interact
一旦我q
进入man
页面,这将关闭 shell 窗口。
如果我手动启动 wpa gui:
#!/usr/bin/expect
set login "pi"
set addr "192.168.0.102"
set pw "password"
spawn ssh -X $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
interact
然后在命令行中:
$ wpa_gui
$ exit
logout
同样的事情也会发生。所以问题肯定出在 X11 区域,而不是在 SSH 启动时运行命令。
请帮忙
-加布里埃尔