FC2ブログ
bash スクリプト if構文エラー!

stock-photo-30703778-mistake-concepts-with-oops-message-on-keyboard こんにちは!シェルスクリプトって便利だなと思う今日このごろです。普段何気なく書いているシェルスクリプト(bash)ですが、最近bashスクリプトのif構文で気づきにくいエラーに遭遇したので、メモがてらここに書いておこうと思います。

エラーメッセージ

 件のエラーメッセージがどんなものだったかを以下に示します。


1: line 14: syntax error near unexpected token `then'

 本来なら行番号の前にプログラム名とか出ていますが、本質的ではないのでここでは省略しています。どんな風にif構文を書いていたかをいかに示します。


1: if[ 条件式 ]; then

2: 何らかの処理

3: fi

 一体このスクリプトのどこがいけないのか、エラーメッセージが示しているようにthenの近くの文は間違っていないしどうなんだろとしばらく悩んでいました。

原因

 しばらく悩んで間違いに気づきました!どこが間違っていたかというと、前章のif構文の、ifと"["の間に半角スペースがありませんでした!この2つをくっつけてしまうと、bashはifコマンドを正しく認識出来ないようです。多くのプログラミング言語ではifの後にすぐ条件式の括弧をつけるのでついついやりがちかと思います。一度ハマるとなかなか気づかないタイプのミスかと思うので、今後は気をつけようと思います!

スポンサーサイト



テーマ:プログラミング - ジャンル:コンピュータ

[2014/08/01 21:40] | プログラミング全般 | トラックバック(0) | コメント(0) | page top
<<ビルドが通るのにタイプエラー!? ~eclipse編~ | ホーム | 新カテゴリ追加! ~読書感想文たち~>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバック URL
http://infotech776.blog.fc2.com/tb.php/61-bf20a281
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |