簡體   English   中英

可以使用MozRepl從telnet正常退出嗎?

[英]can we exit without error from telnet with MozRepl?

基於此答案 ,我正在嘗試找出一種從telnet退出並返回0的方法

這些將無法工作:

(echo -e "repl.quit()";sleep 1) |telnet localhost 4242;echo $?
(echo -e "\029";sleep 1;echo "q";sleep 1) |telnet localhost 4242;echo $?
(echo -e "\c]";sleep 1;echo "q";sleep 1) |telnet localhost 4242;echo $?
(echo -e "\e]";sleep 1;echo "q";sleep 1) |telnet localhost 4242;echo $?
(echo -e "\E]";sleep 1;echo "q";sleep 1) |telnet localhost 4242;echo $?

問題是:我無法區分成功退出和失敗退出...

我認為這個問題可以聯系在一起。

您需要發送^]字符,這是不可打印的組分隔符,您的telnet客戶端在執行通過管道給它的所有命令后終止連接之前。 大多數版本的echo程序都可以使用-e選項生成無法打印的字符。 組分隔符是035(八進制)(您可以在* nix系統上使用man 7 ascii查看整個ASCII表。)。 因此,整個命令應如下所示:

$ (echo "content.location.href = 'http://v4.ident.me/'"; sleep 2; echo -e '\035'; sleep 2) | telnet localhost 4242 > /dev/null
$ echo $?
$ 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM