90598


if文の書き方やユーザに入力させた文字を変数化する方法などを調べて実装しているのですが、  
結果のようなエラーを吐いてしまいます。何がいけなかったのでしょうか？

[code]

    #!/bin/bash
    echo "apiモードはapi フルスタックモードはmvcと入力してください"
    read MODE
    
    if [ "$MODE" = "api"]; then
      echo "apiです"
    elif [ "$MODE" = "mvc" ]; then
      echo "mvc"
    else
      echo "無効な値が入力されました 最初からやり直してください"
      exit
    fi
    
[/code]

_結果_

[code]

    /Users/user/script/mon: line 5: [: missing `]'
    無効な値が入力されました 最初からやり直してください
    
[/code]


CC BY-SA 4.0
2022-08-17T16:05:54.547
90597
2022-08-17T16:14:53.333
51745
question
linux shellscript
shellscript if文でエラー


エラーの出ている5行目で、閉じカッコ `]` の前に (半角の) スペースが無いのが原因だと思います。

**修正後:**

[code]

    if [ "$MODE" = "api" ]; then
      echo "apiです"
    elif [ "$MODE" = "mvc" ]; then
      echo "mvc"
    
[/code]


CC BY-SA 4.0
2022-08-17T16:14:53.333
90598
2022-08-17T16:14:53.333
3060
90597
answer