- ベストアンサー
OSによる改行コードの違い?
最近までWin2000を使用しておりましたが、つい先日よりWinXP機を使うことになりました。FFFTP(フリーツール)でLinux機へ接続し、PCのテキストエディタで作成したSHELLファイルをLinux機へ転送して実行しようとしたところ、うまく作動しません。SHELLを簡素化し、同階層にディレクトリを作成してファイルをコピーさせる内容で実行したところ、どうやら改行コードに不具合があるらしく、作成されたディレクトリ名の後ろに文字列が存在するようです。Win2000では何ら問題なかったので、これは2000とXPで何か違いがあるのではと思ってお聞きしております。ちなみに、テキストエディタはどちらもnotepad、FFFTPはver1.92を使用しており設定に違いはありません。Linuxのviエディタで同様に作成したSHELLファイルをPCへダウンロードしてnotepadで開いたところ、2000ではディレクトリ作成後の箇所が改行されて表示されますが、XPでは下矢印となります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
何がちがうのかはっきりさせるために、PCで作成直後のファイルと、アップロードしたファイルの比較をしてみましょう。 2KとXPでそれぞれ同じ内容のものを作成し、普通にLinuxに転送したファイルを、バイナリモードでダウンロードしてください。 それぞれのファイルサイズの比較をします。 2K元とXP元の比較、2Kとダウンロードファイルの比較、 XP元とダウンロードファイルの比較、 ダウンロードファイル同士の比較です。 ダウンロードしたファイルの方が小さいはずです。 出来ればバイナリで見た場合改行コードはちがうかどうか見てもらいたいです。 NOTEPADで編集するのは良いとは思えませんので、編集ソフトを統一なさるか、改行コードを編集できるエディタを使用した方がいいのではないでしょうか。
その他の回答 (2)
- cocom32
- ベストアンサー率58% (75/129)
notepadではなくTeraPadのような改行コード指定できるエディターを 使われてはいかがでしょうか。 LINUXのSHELLをWINDOWS上で作成するさいは愛用しています。 改行コード指定ができればどんなエディターでもいいとは思います。
- kichi8000
- ベストアンサー率41% (660/1584)
FFFTPのツールボタンの「アスキー転送モード」か「バイナリ転送モード」が押されていませんか。 「ファイル名で転送モード切替」にしてみて下さい。 環境設定の転送モードで、テキストファイルの拡張子が「アスキーモードのファイル名」に登録されているかどうか確認して下さい。 登録がない場合はバイナリ転送モードでアップロードされてしまいます。 NOTEPADの改行コードは「CR,LF」です。 ほとんどのNETサーバの改行コードは「CR」です。 FFFTPのアスキーモード転送は改行コードを「CR,LF」から「CR」へ変換してくれます。
お礼
早々の回答をありがとうございます。2000の当時から仰るようにしていますが、それでもうまくいかないのです。そのため、違いがOS(notepad)しか思いつかなく質問しております。
お礼
kichi8000さま、繰り返しの回答をありがとうございます。cocom32さま、本ツールで解決しました。失礼かとは思いますが、こちらで合わせてお礼申し上げます。 本日手空きだったもので、仰るとおりいろいろと試しました。notepadで作成したファイル、TeraPadでCR指定&LF指定したファイルをそれぞれアスキーorバイナリでアップ&ダウンした結果、LF指定で保存したファイルをバイナリ転送でアップすると実行できました。 理屈は理解できませんがとりあえずはOKとします、また時間がありましたら後学のため解説いただければうれしいです・・・。