- ベストアンサー
case inの制御文
シェルスクリプトの下記ソースに間違いはないですか? 最後のesacの次に改行は必要ですか? #!/bin/sh echo teststart i=2 case $i in 1) echo "a" ;; 2) echo "b" ;; *) echo "c" ;; esac
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
エラーが出たんですか? 私はsdvsさんのスクリプトをコピペしたら普通に動きましたが。 自信ゼロですけどとりあえず回答。 エラーメッセージからすると in が悪さをしてるみたいですね。 in の後の改行文字がなんか変なのかな...。 ためしに case $i in の行を消して もう一回書き直してみてはどうでしょう。 (そしたらよくわからないけど動いたって経験を何回かしているもので) もしくは、 i=0 の次の行に export i を追加してみるとか。 (これは関係なさそうですけど)
補足
ありがとうございます。 なぜかエラーなんです。 ソースのエラーではなく、設定でしょうか? [root@xx my_test]# sh test.sh 'test.sh: line 4: syntax error near unexpected token `in 'test.sh: line 4: `case $i in [root@xx my_test]#