{}を使用して複数のコマンドを実行すると、bashスクリプトエラーが発生しました。

{}を使用して複数のコマンドを実行すると、bashスクリプトエラーが発生しました。

私はbashスクリプト(下)を書いています。

sudo bash ./script.bash 

結果エラー:

line 22: syntax error near unexpected token `fi'

スクリプト:

getent passwd myuser > /dev/null
if [ $? -eq 0 ]; then
    echo "info: user myuser already exists"
else
    sudo useradd -M myuser > /dev/null || { echo "ERROR: could not create user myuser."; exit 1 }
    echo "info: user myuser created successfully"
fi

この行を削除すると:

|| { echo "ERROR: could not create user fiminion"; exit 1 }

すべてがうまくいくようです。

関連情報