Я постоянно получал эту ошибку, когда подключался к своему компьютеру по 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