2 レベルの if-else チェックで予期しないトークン `elif' の近くに構文エラーがあります

2 レベルの if-else チェックで予期しないトークン `elif' の近くに構文エラーがあります

ボックスに SSH 接続すると、このエラーが繰り返し発生しました。

-bash: /root/.bashrc: line 65: syntax error near unexpected token `elif'                                                                          
-bash: /root/.bashrc: line 65: `elif [ -n "$BASH_VERSION" ]; then' 

これが私がこれらの行に持っているものです

if [ -n "$ZSH_VERSION" ]; then
   # assume Zsh
elif [ -n "$BASH_VERSION" ]; then
    PS1="⚡️$yellow $dircolor \W $lightpurple $white"
    if [ $USER == 'root' ]
    then
        export PS1="$white┌──[$red\u$white@$red\h$white]──$white[$red\w$white] \n└── $white"
    else
        export PS1="$white┌──[$lightgreen\u$white@$lightgreen\h$white]──$white[$lightgreen\w$white] \n└── $white"
    fi
else
    # assume something else
fi

私は zsh/bash をチェックし、それに応じて PS1 を設定するだけです。

私の構文は何か間違っていますか?

答え1

これは、本体ifが空であるためです。 のようなダミー命令を追加してみる:か、zsh をテストせずにコードを書き直すことをお勧めします。

if [ -n "$BASH_VERSION" ]; then
    PS1="⚡️$yellow $dircolor \W $lightpurple $white"
    if [ $USER == 'root' ]
    then
        export PS1="$white┌──[$red\u$white@$red\h$white]──$white[$red\w$white] \n└── $white"
    else
        export PS1="$white┌──[$lightgreen\u$white@$lightgreen\h$white]──$white[$lightgreen\w$white] \n└── $white"
    fi
fi

関連情報