我很好奇scp
如何處理二進制文件包含轉義序列的情況 - 尤其是從字符串Ctrl+C
(「\ 0x03」)字符程序員的一面。scp如何設法在sink模式下處理Ctrl + C
我已經嘗試在水槽模式啓動它,併發送一個「\ 0×03」字樣,但它清楚地退出在收到它:
$ perl -e 'print "\x03"'|xsel
$ scp -t /tmp/somefile.txt
^C
$
然而,包含相同字符的二進制文件讓渡的不失敗,但我相信它應該。
我也嘗試讀取scp.c:source函數的源代碼來查看它是否嘗試執行任何字符轉義,但令我驚訝的是它並不出現如此。
你能指點一下我怎麼能測試運行遠程命令SSH的方式,它不反應Ctrl + C的輸入?我沒有運氣,你指定的例子。 – vdudouyt
如果你運行'ssh user @ localhost「scp -t/some/remote/dir」',然後按下Ctrl-C,Ctrl-C將由你的本地tty處理並中斷ssh進程。遠程scp實例將退出,因爲它在ssh會話終止時在其輸入上看到EOF條件。遠程scp實例不會收到Ctrl-C字符或任何信號。 – Kenster