
実行して出力を特定の形式のファイルに書き込むスクリプトがあります。
現在のスクリプトを実行して標準出力として指定すると、目的の形式で出力が提供されます。問題は、ファイルに送信しようとするとフォーマットが失われ、ファイルの出力が同じ行に表示されることです。
以下は、特定の方法でファイルに書き込む出力です。
以下は、ファイルに書き込むときに実際に提供される内容です。
これは私のコードです
printf "%s\n" "==================" >> test
printf "%s\n" "Disk Space. Look for /" >> test
printf "%s\n" "==================" >> test
printf "%s\n" $(df | grep '/dev/') >> test
printf "%s\n" "==================" >> test
ファイルの出力をコマンドラインの出力に似ている方法。
編集:plink(パテコマンドライン)を介して実行されており、コマンドは私が使用しているコマンドファイルにあります。
答え1
スクリーンショットを見ると、Windowsのメモ帳でファイルを見ているようです。 Windowsスタイルの行末(CR + LF)のみを認識し、Unixスタイルの行末を含むファイルを1行に表示します。
Windowsスタイルの行末を出力する\n
ように変更できます。\r\n
printf
答え2
unix2dos
(dos2unix
同じdos2unix-*
rpmからインポートするのではなく)ファイルを実行してから、ファイルをターゲットに送信するだけです。これにより、ファイルがWindowsで正しく実行されるようになります。