这是我的代码,请您帮我知道错误原因:
#!/bin/bash
n=2
echo "Entrez votre Login"
read login
v=$(grep -i $login GestionUtilisateurs/user.txt)
if [[ $v ]]; then
echo "Entrez votre MDP"
read -s password
v2=$(grep -i $login GestionUtilisateurs/user.txt | cut -d ':' -f 2 | grep -w $password)
if [[ $v2 ]]; then
./menu2.sh
else
while [ $n -gt 0 ]
do
if [ "$password" != "$v2" ]; then
echo "MDP non valide. Reesayez"
echo "Il vous reste $n tentative"
read -s password
v3=$(grep -i $login GestionUtilisateurs/user.txt | cut -d ':' -f 2 | grep -w $password)
if [[ $v3 ]]; then
./menu2.sh
else
n=$(( n-1 ))
done
fi
fi
else
echo "Nouvel Utilisateur"
echo "Entrez votre MDP"
read -s password
`echo "$login:$password" >> GestionUtilisateurs/user.txt`
v=$(grep -i $login GestionUtilisateurs/user.txt | cut -d ':' -f 2 | grep -w $password)
if [[ $v ]]; then
echo "bien ajoute"
./menu2.sh
fi
fi
答案 0 :(得分:0)
fi
和done
被交换,而缺少fi
导致错误。
希望我格式化正确,请检查并答复是否符合您的要求。
#!/bin/bash
n=2
echo "Entrez votre Login"
read login
v=$(grep -i $login GestionUtilisateurs/user.txt)
if [[ $v ]]; then
echo "Entrez votre MDP"
read -s password
v2=$(grep -i $login GestionUtilisateurs/user.txt | cut -d ':' -f 2 | grep -w $password)
if [[ $v2 ]]; then
./menu2.sh
else
while [ $n -gt 0 ]
do
if [ "$password" != "$v2" ]; then
echo "MDP non valide. Reesayez"
echo "Il vous reste $n tentative"
read -s password
v3=$(grep -i $login GestionUtilisateurs/user.txt | cut -d ':' -f 2 | grep -w $password)
if [[ $v3 ]]; then
./menu2.sh
else
n=$(( n-1 ))
fi
fi
done
fi
else
echo "Nouvel Utilisateur"
echo "Entrez votre MDP"
read -s password
`echo "$login:$password" >> GestionUtilisateurs/user.txt`
v=$(grep -i $login GestionUtilisateurs/user.txt | cut -d ':' -f 2 | grep -w $password)
if [[ $v ]]; then
echo "bien ajoute"
./menu2.sh
fi
fi