Как исправить ошибку bash неожиданный токен bash? - PullRequest
0 голосов
/ 17 апреля 2020

Мне нужна важная помощь с моим bash кодом, я был в таком состоянии, как это в течение 1 часа, и я никуда не попал, я решил ошибку конца кода, но теперь я в этом, и я не в состоянии продвинуться, доказать изменение elif другим, если, но я все еще не нашел решение, помогите! Спасибо.

Код ошибки: строка 39 (19 после редактирования): синтаксическая ошибка рядом с неожиданным токеном `elif '

echo -e '\e[31m[ 1 ] Instalar paquetes\e[1m'
sleep 0.1
echo -e '\e[31m[ 2 ] Instalar Herramientas\e[1m'
sleep 0.1
echo -e '\e[31m[ 3 ] Eliminar Herramienta\e[1m'
sleep 0.1
echo -e '\e[31m[ 4 ] Info\e[1m'
sleep 0.1
echo -e '\e[31m[ 5 ] Salir\e[1m'
sleep 0.1
echo ' '

echo -e '\e[34mInserte la opción que desea utilizar:'
read vw
if [ $vw = 1 ];
then
    sleep 1.3
    echo 'Inserte el nombre del paquete que desea instalar ej.python'
    read instalar
    pkg install $instalar
elif [ $vw = 2 ];
then
    sleep 1.3
    bash tools.sh
fi
elif [ $vw = 3 ];
then
    sleep 1.3
    echo  'inserte el nombre de la herramienta que desea eliminar:'
    read eliminar
    rm -rf $eliminar
fi
elif [ $vw = 4 ];
then
    sleep 1.3
    echo 'Autor: '
fi
elif [ $vw = 5];
then
    sleep 1.3
fi
else
    echo 'Por favor inserte un numero del que se encuentra en la lista'
    sleep 4
    bash chesthacker.sh
    exit 0
fi

1 Ответ

1 голос
/ 17 апреля 2020
fi
elif [ $vw = 3 ];

Это неверно. Если вы закончили , если блок с fi , вы не можете начать новый блок с elif . Правильный синтаксис:

if ...
then 
elif ..
then 
elif ...
then
else
fi
...