ブログ

Linux(WSL) でシェル実行すると フォルダ/ファイル末尾 にドットが付いてしまう

症状

シェル実行すると、フォルダ末尾にドットが付いてしまう。

(mkdir で testフォルダを作成したつもりなのに)

folder_dot

原因

シェルの改行コードが LF ではなく CR + LF になっているのが原因。

mkdir test

1行目の test の直後に改行コードが入っていたので、ファイル全体を LF で保存し直すことで対処。

sh test.sh すると、正常にフォルダ作成できた。

folder_dot1

解説

Linux の改行コードは LF で認識される。

よって、test CR LF の状態だと、test CR までがフォルダ名と認識され、ドット表示(文字化け)になっていた。

ちなみに、ls で表示すると 'test'$'\r' なる表記になっていた。

mkdir の前に改行があると「: not found」という出力なのでまだ気付きやすい。

今回は、エラーなしで実行できるがドット表示(文字化け)になるという、

改行コードが原因であることに気付きにくいパターンだった。

-ブログ

© 2022 墾田ええねん! Powered by AFFINGER5