1. ホーム
  2. bash

[解決済み] シェルスクリプトで行末にセミコロンは不要?重複

2022-08-27 14:29:29

質問

以下のような内容のシェルスクリプトがあります。

case $1 in
    0 )
    echo $1 = 0;
    OUTPUT=3;;
    1 )
    echo $1 = 1;
    OUTPUT=4;;
    2 )
    echo $1 = 2;
    OUTPUT=4;;
esac

HID=$2;
BUNCH=16;
LR=.008;

セミコロン は完全に不要なのでしょうか?また、一部の人がダブルセミコロンを使用しているのは何か理由があるのでしょうか?

セミコロンは単なる区切り文字で、改行の代わりに使うもののようです。

どのように解決するのですか?

行末のシングルセミコロンは、改行がコマンドセパレータでもあるため、不要です。 case は、特に各パターンブロックの最後のコマンドの最後にダブルセミコロンを必要とします。 help case を参照してください。