Windowsから、PuTTYplinkを使用してリモートシェルスクリプトを実行しています
cmd>plink.exe -ssh username@hostipd -pw gbG8qs4 /user/alice/listoffiles.sh > C:\log1.txt
リモートサーバーのシェルスクリプト
#! /bin/bash
echo -e "Hellow\nWorld"
Log1.txtの出力は改行なしのHelloWorldです。として出力を取得する方法
Hello
World
出力に改行が入ります。問題は、これがUnixの改行であり、Windowsが認識しないことです。 Unixは改行をLF(改行)文字としてエンコードしますが、Windowsの改行は2文字のシーケンスCRLF(キャリッジリターン、改行)で構成されます。
Windowsで出力を正しく表示するには、type
のcmd
コマンドまたはメモ帳エディター以外のものを使用します。
Windowsの改行を使用して出力を生成する場合は、スクリプトをsed 's/$/\r/'
にパイプできます。ただし、この出力はLinuxでは正常に機能しないことに注意してください。行末の余分なCR文字は、多くのアプリケーションで行の一部と見なされます。