plinkを使用してリモートシェルスクリプトに出力されたテキストファイルに新しい行を追加する方法

plinkを使用してリモートシェルスクリプトに出力されたテキストファイルに新しい行を追加する方法

Windowsでは、putty plinkを使用してリモートシェルスクリプトを実行します。

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

ベストアンサー1

出力に改行文字が表示されます。問題は、これがWindowsが認識しないUnix改行文字であることです。 Unixは改行をLF(改行)文字にエンコードしますが、Windowsの改行は2文字の文字列CRLF(キャリッジリターン、改行)で構成されています。

Windowsで出力を正しく表示するには、メモ帳エディタのコマンド以外のtypeコマンドを使用できます。cmd

Windowsの改行を使用して出力を生成するには、スクリプトをパイプできますsed 's/$/\r/'。ただし、この出力はLinuxでは正しく機能しません。行の末尾にある追加のCR文字は、多くのアプリケーションで行の一部と見なされます。

おすすめ記事