Created
September 24, 2021 15:10
-
-
Save Hullaballo2001/698872f471646dfcf8f370903115713a to your computer and use it in GitHub Desktop.
AnSo_sauvegarde.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Création d'un script de sauvegarde | |
# - Le script demande quel dossier l'utilisateur souhaite sauvegarder | |
# - Si le dossier n'existe pas, il affiche un message d'erreur | |
# - Le script demande ou sauvegarder le fichier | |
# - Le script demande la confirmation de sauvegarder à l'endroit choisit | |
# - Le script affiche un message quand la sauvegarde est correctement effectué | |
# - Le script demande si l'utilisateur veux sauvegarder un autre dossier | |
# | |
#!/bin/bash | |
flag_boucle="1" | |
flag_dossier=null | |
flag_chemin=null | |
flag_copie=null | |
onyva=null | |
recommence=null | |
reponse=null | |
reponse2=null | |
# on entre dans la boucle | |
while [ $flag_boucle != "0" ] | |
do | |
# - Le script demande quel dossier l'utilisateur souhaite sauvegarder | |
echo "Quel dossier souhaitez-vous sauvegarder ?" | |
read dossier | |
test -d $dossier #vrai si l'objet désigné par $FILE est un répertoire dans le répertoire courant, | |
flag_dossier=$? | |
# - Si le dossier n'existe pas, il affiche un message d'erreur | |
if test $flag_dossier != "0" | |
then | |
echo "Ce dossier n'existe pas dans le répertoire courant/n'est pas un dossier" | |
else # - Le script demande ou sauvegarder le fichier | |
flag_chemin="1" | |
while [ $flag_chemin != "0" ] # on rentre dans la 2de boucle | |
do | |
echo "Où souhaitez-vous sauvegarder ce dossier (chemin complet) ?" | |
read chemin | |
[ -d $chemin -a -w $chemin ] # -a = AND si c un dossier et que je peux ecrire dedans | |
flag_chemin=$? | |
if [ $flag_chemin != "0" ] | |
then | |
echo "Ce chemin n'est pas valide" | |
fi | |
done | |
# onyva=" " | |
while [ $onyva = null ] | |
do | |
# - Le script demande la confirmation de sauvegarder à l'endroit choisit | |
echo "Veuillez confirmer la sauvegarde de $dossier dans $chemin (O/N)" | |
read reponse | |
case $reponse in | |
[Oo] ) onyva="oui" | |
;; | |
[Nn] ) onyva="non" | |
break #remonter d'un cran et demander quel dossier sauvegarder au lieu de sortir complétement | |
;; | |
*) echo "Veuillez saisir "O" ou "N"" | |
esac | |
done | |
if [ $onyva = "oui" ] | |
then | |
cp -r $dossier $chemin | |
flag_copie=$? | |
if [ $flag_copie != "0" ] | |
then | |
echo "problème lors de la copie" | |
else | |
echo "La sauvegarde s'est correctement effectuée" | |
# recommence=" " | |
while [ $recommence = null ] | |
do | |
echo "Voulez-vous sauvegarder un autre dossier ? (O/N)" | |
read reponse2 | |
case $reponse2 in | |
[Oo] ) recommence="oui" | |
;; | |
[Nn] ) recommence="non" | |
exit | |
;; | |
*) echo "Veuillez saisir "O" ou "N"" | |
esac | |
done | |
if [ $recommence = "oui" ] | |
then #back to ligne 20 par un break ? | |
break | |
else | |
flag_boucle="0" | |
fi | |
fi | |
else #back to ligne 20 par un break | |
break | |
fi | |
fi | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment