改行コードの関係で Windows 環境で編集したファイルが linux 環境で動作しない

Windows で Visual Studio Code を用いてファイルを編集していた際に詰まったことがあったので覚え書き.

環境

問題が生じた状況

Windows 環境の VSCode で wsl2 上のファイルを編集していた際に, python3 用の shebang を以下のように作成した.

#!/usr/bin/env python3
        

実行時に以下のエラーが発生.

/usr/bin/env: ‘python3 \r’: No such file or directory
        

原因

Windows はデフォルトで改行コードに CRLF (\r\n) を使用するが, linux 系では基本的に LF (\n) を使用する.
そのため, CRLF を shebang に用いると CR 部分のコードが残ってしまい, 名前の不一致エラーが生じる.

対処法