Ok J'essaie d'avoir une situation où je vérifie si un fichier existe, si c'est le cas, je donne à l'utilisateur l'option de le télécharger à nouveau - Je veux le défaut (entrez) pour être Y, je veux que Y ou y poursuive le script, je veux que N ou n quitte le script, et je veux que toutes les autres réponses retournent et re-posent la question ... mais je suis bloqué cette. Ce que j'ai fait ne fait que continuer (entrée), et échoue sur toutes les autres réponses autres que la minuscule y.Aide de script Bash avec if then else et sensibilité à la casse
Ici, il est:
if [ -f $target/$remote_backup ];then
read -p "This file already exists, do you still want to download? [Y/n]" decide
if [ -z $decide ];then
# if you press return it'll default to Y and continue
decide="Y"
else
if [ $decide != y ]; then
echo "Ok you said no or pressed a random button, exiting"
exit -1
fi
fi
fi
Je ne pense pas que je comprenne, est-ce que le temps passe après? comme ceci ... si [-f $ target/$ remote_backup], puis while ["$ decide"! = "y" -a "$ décider"! = "n"]; do read -p "Ce fichier existe déjà, voulez-vous toujours le télécharger? [Y/n]" décidez si [-z $ decide]; alors decide = "y" fi fait – beatbreaker
@beatbreaker, le 'while' va après votre premier' if'. J'ai mis à jour ma réponse avec plus de contexte. –
Je peux obtenir que cela fonctionne, mais ne résout pas mon problème de cas – beatbreaker