シェルスクリプトと変数の代入の注意

今回、日経Linux の記事にある
case 文を使った例を実際に行ったところ、エラーがおこり
かなり悩みました
原因は単純で、
newfile=”${file%.*}”.html
とするべきところを
newfile =”${file%.*}”.html
というように、スペースを入れてしまったのが
原因でした
普通の白黒コンソール画面ではわかりにくかったのですが
色付きの画面でみたときに違いがわかりました
newfile=”${file%.*}”.html
とすると
newfile=”${file%.*}”.html
というように
文字が青くなります
しかし、スペースを入れてしまうと
黒い文字となり、エラーとなります
どうやら、スペースをいれると
コマンドとしてみなされるようです
この違いがわからず、かなり悩みました
Cやjava などでは、記述する時にそこまで厳しくないのですが
シェルスクリプトのときにはまったく違う
意味になるようなので、今後の注意点としておきたいと思います

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です