12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/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 "$@"
|