これは私を悩ませてきた問題であり、解決策を見つけることができません。私のプログラム:
#!/usr/bin/sh
ssh -t myuser@anotherhost "cat ~/severalLineFile"
とのよう~/severalLineFileにanotherhost見えます:
line1
line2
line3
line4
line5
line6
プログラムを単独で実行すると、端末への出力は期待どおりに見えます。ただし、ターミナルのサイズを5行だけになるように変更し、プログラムをそれ以下にパイプすると、次のようになります。
line1
line2
line3
line4
:
その時点でスペースバーを押すと、次のように印刷されますline5(line6および追加の行)。
line5
line6
これは、疑似端末でsshを実行した結果であり、改行が改行に含まれているためにこの階段状のステップが発生することを理解しました。私は使ってみましstty ocrnlたが、これは私が望むことをしません。つまり、スペースバーを押した後、lessの最初の印刷がすべてのように動作するためです。
ところで、すべてのキーボード割り込みがリモートプロセスに到達するようにしたいので、モードsshで実行する必要があります。物事のこちら側に解決策があれば、私はすべての耳です。私はLinuxServer6.1を使用しており、端末はMacOS10.6.8を使用しています。-tctrl+C
\r\nまた、疑似端末が生成するをに置き換えようとしました\nが、これでは問題は解決しません。