LoginSignup
0
0

ソースコードの改行コードについて

Posted at

概要

本日はソースコードの改行コードについて話をしたいと思います。
最近気づいたことですが、Linux環境で圧縮したtarファイルをWindows上で解凍してみたら改行コードが変更されました。
この話をしたいと思います。

前提条件

・開発ソースのすべてのファイルをtarファイルに圧縮する。
・Windows上で解凍するツールは以下のもので試す。
①Winzip 2.5?
②7zip

圧縮ファイルを解凍

会社のPCにインストールされている圧縮ソフトウェアがWinzipのV2.5からtarファイルをWindows環境で
解凍するとソースコードの改行コードが「LF→CRLF」自動で変更される問題が発生しました。

解決方法

7zipツールからの解凍は問題なく改行コードがLFでした。
Winzipから解凍したソースファイルを手動で改行コードを変更したい場合は、
次のサクラエディタにて置換すれば簡単に変更は可能です。

image.png

●「CRLF→LF」に置換画面
image.png

●置換後の結果
image.png

その他

Winscpツールを利用してLinux環境からWindows環境へ「シェルスクリプトファイル」をダウンロードするとなぜかこのときも改行コードがLF→CRLFに変更されました。この状態で別のLinux環境にこのスクリプトファイルをアップロードして実行するとなぜか正しく実行されない問題も起きました。
圧縮解凍以外にもファイル転送するツールからも同じ問題がありました。
一応A環境で正しく動いているのにB環境では正しく動いてないときも改行コードを確認してみてください。
またはデフォルトのシェルスクリプトがBashまたはCshなのかも確認が必要です。

終わりに

今日はソースコードの改行コードについて話をしてみました。
旧担当者から既存のソースを頂いて確認したときにすべてのソースの改行コードがWindowsのCRLFになっていることをみて旧システムではこのソースだったんだと思っていました。
新しい環境には改行コードを正しく変換してインストールし、確認している途中また旧担当者から最新ソースを改めて送ってきたんですが、このときは一部のソースコードは正しく改行コードがLFになっていました。テンプレートのコードはまだCRLFでしたが、そのまま新しい環境にも移行して確認しましたが、問題なかったので、そのまま利用中です。ただ、シェルスクリプトの場合は改行コードにより正しく動作しないことがありましたので、改行コード及び文字コードなどもシステムの環境文字コードに合わせて変更したら問題なく実行されました。
システムの文字コードと改行コードを意識しながら作業するのが大事と思いました。
今日はここまでです。ありがとうございます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0