|
@@ -0,0 +1,79 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+#set
|
|
|
+#-e Exit immediately if a command exits with a non-zero status.
|
|
|
+#-u Treat unset variables as an error when substituting.
|
|
|
+#set -eu
|
|
|
+
|
|
|
+#fonction appelée en cas de paramètres non valide ou de l'option -h
|
|
|
+usage()
|
|
|
+{
|
|
|
+ # "$(basename "${0}") pour gérer les espaces
|
|
|
+ echo "$(basename "${0}") description"
|
|
|
+ echo ''
|
|
|
+ echo "détail des options"
|
|
|
+}
|
|
|
+
|
|
|
+generation_date()
|
|
|
+{
|
|
|
+ DATE=`date +%y-%m-%d-%H:%M:%S`
|
|
|
+}
|
|
|
+
|
|
|
+#fonction principale
|
|
|
+main()
|
|
|
+{
|
|
|
+ #boucle pour la gestion des options
|
|
|
+ #a: signifie qu'un argument est attendu
|
|
|
+ #hV signifie que ces options existent mais ne prennent pas de paramètre
|
|
|
+ while getopts "a:c:hv" OPT
|
|
|
+ do
|
|
|
+ case "$OPT" in
|
|
|
+ a)
|
|
|
+ #Passage d'arguments
|
|
|
+ #afin de garantir le contenu de la variable il est préférable de la déclarer comme readonly
|
|
|
+ readonly ARGUMENT=${OPTARG}
|
|
|
+ ;;
|
|
|
+
|
|
|
+ c)
|
|
|
+ #récupérer le chemin d'un fichier
|
|
|
+ readonly CHEMIN="$(readlink -f "${OPTARG}")"
|
|
|
+ ;;
|
|
|
+
|
|
|
+ h)
|
|
|
+ usage
|
|
|
+ exit 0
|
|
|
+ ;;
|
|
|
+
|
|
|
+ v)
|
|
|
+ readonly VERBOSE=true
|
|
|
+ ;;
|
|
|
+
|
|
|
+ *)
|
|
|
+ #ce point est atteint lorsqu'une option inexistante est demandée
|
|
|
+ echo "parametres non valide"
|
|
|
+ usage
|
|
|
+ exit 1
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+ done
|
|
|
+
|
|
|
+ #tester l'existence d'une variable
|
|
|
+ if [ ! -z $VERBOSE ]
|
|
|
+ then
|
|
|
+ echo "VERBOSE : $VERBOSE"
|
|
|
+
|
|
|
+ if [ ! -z $ARGUMENT ]
|
|
|
+ then
|
|
|
+ echo "ARGUMENT : $ARGUMENT"
|
|
|
+ fi
|
|
|
+
|
|
|
+ if [ ! -z $CHEMIN ]
|
|
|
+ then
|
|
|
+ echo "CHEMIN : $CHEMIN"
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+
|
|
|
+ exit 0
|
|
|
+}
|
|
|
+
|
|
|
+main "$@"
|