シェルスクリプトの改行コードが"LF"ではなく"CRLF"だと,\r
のせいでエラーがでて困りますよね.
しかし,CRLFの場合,エラーなどで困ることはあるのでしょうか?
私の記憶によれば,windowsはLFでも.bat/.ps1を読み込んでくれますよね?(たぶん)
つまり,ファイルの改行コードはCRLFかLFか,どちらが良いか?という質問です.

回答3件
あなたの回答
tips
プレビュー
bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。
Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。
Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。
CRLFは、改行コードのことです。 改行コードは、改行を表す制御文字です
bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。
Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。
Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。
CRLFは、改行コードのことです。 改行コードは、改行を表す制御文字です
0グッド
0クリップ
投稿2017/07/18 22:29
シェルスクリプトの改行コードが"LF"ではなく"CRLF"だと,\r
のせいでエラーがでて困りますよね.
しかし,CRLFの場合,エラーなどで困ることはあるのでしょうか?
私の記憶によれば,windowsはLFでも.bat/.ps1を読み込んでくれますよね?(たぶん)
つまり,ファイルの改行コードはCRLFかLFか,どちらが良いか?という質問です.
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
phpPgAdminでのインポートだったかな…CRLFだとエラーになるので、LFに置換した覚えがあります。
また、なにかでデータテキストをLFで提供していたのですが、メモ帳で開いたユーザはデータが改行されないため、データの並びを誤解されたことがあります。
ようするにケースバイケースです。
CRのみ、LFのみ、CRLFという3パターンの改行が存在することはもはや否定しようがないのですから、これらの改行が認識できて、必要に応じて簡単に一括置換可能な優秀なテキストエディタを利用する、というのが大事なのではないでしょうか。
投稿2017/07/19 00:04
総合スコア1449
0
どちらがいいか? の答えはありません。
歴史的事情や用途によります。
行末をCRLFにしておけば、
CRだけなら、行頭へ戻って上書き
LFだけなら、その桁位置で下の行へ移動
ができます。
こんな風に使うのはほとんどありませんけど・・・。
CR、LFをそれぞれ単独で用いて、上のようなことをしたい、ということでないなら
LFがいいです。
CRLFの2文字で一つの機能を定義すると、
CRだけ、LFだけ、LFCRと続いたとき
の3通りでそれぞれどうするか?で悩んでしまいます。
ま、LFと決めても、それ以外をどう処理するかは決めないとダメですけど・・・。
投稿2017/07/19 01:53
総合スコア711
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
Windows標準のメモ帳ではCR-LFで見るので、LFでは改行されずに1行で表示されると思います。
逆にCR-LFのファイルをLinuxでviで開くと「^M」とか行末に出ることがあります(最近はまずありませんが)
更に昔のMacではCRが標準だったりしたこともあって、どれが標準かというのはそれぞれのエディタ等の標準で考えるしかありません。
個人的には、プログラムに絡むものは全てLFで統一しています。
理由としては「CR-LF」で改行を判断する場合、セットで見る事になるので、LF単体がマッチしないというような事になりやすいためです。
コーディング規約等でそのあたり取り決めておけば、システム内で困る事はあまりないと思います。
(外部から取り込むファイル等については話が別ですが)
投稿2017/07/19 01:13
総合スコア5405
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。