の用法 echo-e "\ 029"
も機能しません。しかし、使用する場合 strg + alt gr + ] ターミナルセッションで直接->動作します。
より具体的に質問しなければなりません。
Telnet/SCPIを介してRFジェネレーター(AGILENT))を接続します。
端末でこのマニュアルを実行し、セッションの最後にを押した場合 CTRL + ALT GR +] '^]'の場合、scpiセッションを適切に閉じます。quit
と入力して、telnetセッションを適切に閉じます。
RFジェネレーターのディスプレイにエラーメッセージはありません。
スクリプトでこれを行うと、SCPIセッションはブレーク信号条件「^]」を認識しないようで、スクリプトの終了後に強制的に閉じられます(telnetおよびscpi)。 ->メッセージ:「外部ホストによって切断されました」。残念ながら、RF generator-> "invalid header"などのディスプレイにエラーメッセージが表示されます。
接続に成功した後:192,168.10.66に接続されているエスケープ文字が「^]」->これが問題のポイントです。ターミナルでの手動入力は正常に機能し、スクリプトは機能しません。
私のスクリプトは次のようになります。
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
Linuxでは、実際には次のとおりです。
CTRL + ] それから ENTER
最後にquit
コマンドを入力します。
^]
telnet> quit
Connection closed.
[fred@localhost ~]$
Redhatでtelnetを終了するには:
タイプ"CTRL+5"
を入力してから"quit"
以下のコマンドを使用してセッションを閉じるには
.
^]
手段 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 + ç
私のデンマークのキーボードではそうではありませんでした Ctrl + å -しかし、代わりに右側のキー å (帽子、チルド、ウムラウトがあります)
トルコ語キーボードを搭載したMacOSの場合:
Ctrl + Option + ü
次に、> quit
Ctrl + ]
これは^]と表示され、その後
telnet> q
qは終了するためのものです
そうでなければなりません。サーバー上のターミナルに表示される_^]
_は、クライアント側にとっては何の意味もないからです。クライアントは、サーバーに送信される前にこのシンボルをキャッチする必要があります。もちろん、サーバーで実行されているプログラムでターミナルに書き込むことはできません。
そのため、他の方法でセッションを中断する必要があります。多くの方法があります。
exit
またはsys.exit()
in pythonまたはexit()
in他の多くの言語)。kill ...
_(_...
_の代わりにプロセスのPID)を使用する必要があります。kill ...
_)を行う必要があります。