37

的使用echo-e "\ 029"也不起作用。但是如果直接在终端会话中使用strg++ - alt gr>它可以工作。]

我必须更具体地问我的问题:
我通过 Telnet/SCPI 连接了一个射频发生器 (AGILENT)。
如果我在终端上执行本手册并在会话结束时按CTRL++ ALT GRfor ]'^]' 然后正确关闭 scpi 会话,我可以键入quit以正确关闭 telnet 会话。
射频发生器的显示屏上没有错误消息。所以它应该是。

如果我通过脚本执行此操作,SCPI 会话似乎无法识别中断信号条件“^]”,并且将在脚本结束后强制关闭(telnet 和 scpi)。-> 消息:“被外部主机断开”。不幸的是,我在 RF 发生器的显示屏上收到错误消息 -> “无效标头”等。

连接成功后出现:Connected to 192,168.10.66 Escape Character is '^]' -> 这就是问题所在。终端中的手动输入正常工作,脚本不起作用。

我的脚本看起来像这样:

function  getIDNMessage()  
{
    (      
        echo open $1 $2  
        sleep 1  
        echo "*IDN?"  
        sleep 1  
        echo –e "\029"         # or echo “^]” does not work well  
        sleep 1  
        echo "quit\r"  
        sleep 1  
    ) | telnet > scpi_telnet.log 2>&1
}

getIDNMessage 192.168.10.66 7777    
4

9 回答 9

141

在 Linux 上,它实际上是:

CTRL+]然后ENTER

最后输入quit命令。

^]

telnet> quit
Connection closed.
[fred@localhost ~]$
于 2014-11-20T17:15:26.103 回答
35

要在 redhat 上退出 telnet:
输入"CTRL+5" 然后输入"quit"

于 2017-05-19T15:30:50.450 回答
8

关闭会话使用下面的命令

  1. Ctrl + ]
  2. 远程登录>退出

它在 REHL 和 CentOS 中完美运行。

于 2017-11-07T10:11:09.607 回答
6

^]手段ctrl + right括号。尽管很奇怪,但它确实有效。您将被带到 telnet 提示符,您可以在其中键入 quit。

在国际键盘上,]字符通常不是一个键,需要用其他键替换。正确的键通常是 P 右侧的键或之后的下一个键。

以下是基于以下评论的列表:

Finnish, Swedish, Norwegian, Danish: ctrl + å
French: ctrl + 6
German: ctrl + ü
Swiss: ctrl + ¨
Hungarian: ctrl + 5
Portuguese: ctrl + ´
Dutch, Belgian: ctrl + $
Canadian French: ctrl + ç
于 2017-09-13T09:35:25.377 回答
1

一定是这样。因为^]打印在服务器上的终端对客户端来说没有任何意义。客户端必须先捕获此符号,然后才能将其传输到服务器,当然您不能仅将其写入服务器上运行的程序中的终端。

所以你需要以其他方式中断会话。有很多方法。

  1. 如果您在正在运行的程序中,您可以简单地终止它(exit在 shell 或sys.exit()python 或exit()许多其他语言中)。
  2. 如果您无法控制程序流程,您可以通过终止终端所有者的进程来关闭终端。您需要找到该进程,然后使用kill ...(进程的 PID 而不是...)。
  3. 如果要从客户端关闭客户端,则需要在客户端执行相同的操作 ( kill ...)。
于 2012-07-27T05:27:42.990 回答
1

在带有土耳其语键盘的 MacOS 上尝试:
Ctrl+ Option+ü

然后,
> quit

于 2019-07-25T13:46:31.230 回答
1

在我的丹麦键盘上,它不是Ctrl+ å- 而是右侧的键å(有一个帽子,一个波浪号和一个变音符号)

于 2017-10-06T08:16:58.453 回答
0

Ctrl + ]这将显示为 ^] 然后

telnet> qq 代表退出

于 2018-05-25T08:29:22.977 回答
0

打开连接时,您可以指定转义字符。例如

[root@localhost ~]# telnet -e % localhost
Telnet escape character is '%'.
Trying 127.0.0.1...
Connected to localhost.
Escape character is '%'.

>%

telnet> quit
Connection closed.
[root@localhost ~]#

在这里,我只是使用 % 符号来关闭会话,因为我必须告诉 telnet 将其用作转义字符。我发现这很有用,因为字符 ^] 在不同的键盘布局上可能会有所不同。

于 2021-08-24T02:22:42.897 回答