改行コードには気を付けよう!
結論です
問題の詳細
Windows10上で改行コードCRLFで以下のシェルを書いて実行しようとしていました。
2行目は開発途中でherokuにアップロードしたりする際に使ったのでとりあえずコメントアウトしてました。
改行コードCRLFの闇
service mysql start && rails db:create && rails db:migrate && rails s
# rails db:migrate && rails s -b 0.0.0.0 -p $PORT
実行すると以下のエラーが
CRLF
rails aborted!
' (see --tasks)to build task 's
…
…
bin/rails:3:in `load'
bin/rails:3:in `<main>'
(See full trace by running task with --trace)
なんだ・・・何が悪いんだ・・・?と思い色々やってみると以下のことが分かりました
- Mac上で動かすと上手くいく
- 1行だと上手くいく
もしやこれは改行コードか・・・と思い、VSCodeで確認してみるとCRLFになってる・・・
LFに変えたら動きました・・・!
初めて改行コードがらみの問題に当たってちょっとうれしいやら悲しいやら笑
結論
シェルを書くときは改行コードはLFにしよう!!(当たり前)