Erreur d'execution
ennouma_123
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
bonjour, svp je veux savoir la commande exacte pour exécuter ce script dans le terminal
car lorsque je fais cette commande: ./projet.sh 23/03/2020 j'ai deux erreurs:
1-cannot open '+2' for reading: no such file or directory
2- erreur: usage: projet.sh jour mois annee
l'idée de script est l'affichage du jour de la semaine correspond une date donnée.
voici le script:
car lorsque je fais cette commande: ./projet.sh 23/03/2020 j'ai deux erreurs:
1-cannot open '+2' for reading: no such file or directory
2- erreur: usage: projet.sh jour mois annee
l'idée de script est l'affichage du jour de la semaine correspond une date donnée.
voici le script:
#!/bin/bash # queljour.script # recherche du jour de la semaine pour une date donnee case $# in 3) ;; *) echo "ERREUR: usage : `basename $0` jour mois annee" 1>&2; exit 1;; esac # sauvegarde des arguments d'appel jour=$1 ; mois=$2 ; an=$3 if ! cal $mois $an |tail +2|grep -e $jour >/dev/null then echo "ERREUR: date incorrecte ($jour/$mois/$an)" 1>&2; exit 1; fi # La commande cal a en sortie le format suivant : # ligne 1 : mois et annee # ligne 2 : jours (S M Tu W Th F S : Dim Lun Mar Mer Jeu Ven Sam) # Ces 2 lignes seront elimines et le test portera sur un jour avec 2 chiffres # sachant que le 1er est le meme jour que le 8 et le 15, le 5 que le 12 ... # conversion de 1 et 2 en 15 et 16 et de 3,4 .. 9 en 10,11 .. 16 # pour garantir l'unicite de la recherche (sinon 6 se retouve dans 16 et 26...) case $jour in 0) echo "ERREUR: Date incorrecte" 1>&2; exit 1;; 1|2) let j=$jour+14;; 3|4|5|6|7|8|9) let j=$jour+7;; *) j=$jour;; esac # recuperation de la semaine concernee en eliminant les 3 premieres lignes # puis de la position du jour recherche set `cal $2 $3 | tail +2 | grep "$j"` # traduction de la position en un jour de la semaine case $j in $1) JOUR=Dimanche;; $2) JOUR=Lundi;; $3) JOUR=Mardi;; $4) JOUR=Mercredi;; $5) JOUR=Jeudi;; $6) JOUR=Vendredi;; $7) JOUR=Samedi;; esac echo "Le $jour $mois $an est un $JOUR"
A voir également:
- Erreur d'execution
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Iptv erreur de lecture - Forum TV & Vidéo
- Comment recuperer whatsapp supprimé par erreur - Guide