[bash]Windowsで動作するシェルスクリプトがmacOSでエラーになる

「command not foundline」や「syntax error near unexpected token」エラーが発生する場合の対処方法です。

エラー例

スクリプトの内容

関数化した echo を呼ぶだけの、単純なスクリプトです。

test() {
    echo test-echo
}

test

実行すると・・・ エラーが発生しました。

Book:curict-mac2 mk$ bash bash-error-mac.sh
: command not foundline 1:
'ash-error-mac.sh: line 2: syntax error near unexpected token `{
'ash-error-mac.sh: line 2: `test() {
command not foundline

対処方法

スクリプトファイルの改行コードを「CRLF」から「LF」に変更します。

macOS や Unix では改行コードに「CR」が含まれていると正しく解釈できず、様々なエラーが発生します。 シェルスクリプトの改行コードはWindowsでも「LF」で保存しておくことをおすすめします。

検証環境

関連ページ