改行CRLFによるshellコマンドの無効化の問題


OS改行(CRLF)について
DosはLinux改行とは異なり、cat-Aを使用してDosとLinuxで作成されたファイルフォーマットを観察します.$Dosで使われている改行文字は^M(ここにはドル記号が1つ表示されていませんが、ここではこのフォーマットがサポートされていません)で、C RとL Fの2つの記号と呼ばれています.一方、L i n u xオペレーティングシステムでは、L F(ここにはドル記号が表示されていないので、ここではこのフォーマットがサポートされていないのか分からない)だけが、CRとLFの2つの記号と呼ばれています.Linuxオペレーティングシステムでは、LF(ここにはドル記号が表示されていないので、ここではこのフォーマットがサポートされていないのか分からない)だけで、CRとLFの2つの記号と呼ばれています.一方,Linuxオペレーティングシステムでは,LF()という改行のみがあり,この改行はLinuxシステムに大きな影響を及ぼす.
改行によるshellが実行できない場合:
Linuxコマンドの実行を開始すると判断根拠はEnterであり、LinuxのEnterはLF符号であり、Dosの改行文字がCRLFであるため^M符号が1つ増えてしまう.この場合、Shellスクリプトを1つ実行するとプログラムが実行できなくなる場合がある.
解決方法:
dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]
	-k:        mtime  
	-n:       ,             

OSにこのコマンドがインストールされていない可能性があります.
VIエディタを使用して改行の問題を解決します.
VIエディタコマンドモードを使用するには:
set fileformat=unix
set fileformat=dos

プロジェクトで実際に遭遇したピット:
1、     ,               Git    ,        CRLF,            。
2、  jar            ,    shell      rm  ,     rm -rf   ,      。