Aide sur la commande IF sous ubuntu
Résolu
karirovax
Messages postés
3584
Statut
Membre
-
karirovax Messages postés 3584 Statut Membre -
karirovax Messages postés 3584 Statut Membre -
Bonjour,
j'ai un petit prb avec la commande IF , malgrés plusieurs manip avec comme : IF [$var1 -eq $var2] ; then ...; fi
donc je vous donne mon code , s'il ya aussi d'autre manip , je suis preneur ;)
voici mon code en bash :
#!/bin/bash
echo
echo
echo CE programme permet de trouver
echo
echo votre jour de naissance
echo
echo
echo ------------------------------------------------------------------
echo janvier fevrier mars avril mai juin juillet août sept oct nov dec
echo ------------------------------------------------------------------
echo 0 3 3 6 1 4 6 2 5 0 3 5
echo ------------------------------------------------------------------
echo
echo ----------------------------
echo dim lun mar mer jeu ven sam
echo ----------------------------
echo 0 1 2 3 4 5 6
echo ----------------------------
echo
echo
echo Tappez votre jour de naissance :
echo
read jour
if [ "$jour" -gt "31" ] ; then echo " Vous devez choisir un nombre inferieur ou égale a 31"
echo " car ( $jour est superieur a 31 )"
read jours
elif [ "$jour" -le "0" ] ; then echo " Vous devez choisir un nombre superrieur ou égale a 1"
echo " car ( $jour est inferieur a 1 )"
read jours
else
echo
echo Jour de naissance : $jour
echo
fi
echo
echo Tappez votre mois de naissance :
echo
read mois
if [ $mois -gt "12" ] ; then echo " Vous devez choisir un nombre inferieur ou égale a 12"
echo " car ( $mois est superieur a 12 )"
read mois
elif [ $mois -le "0" ] ; then echo " Vous devez choisir un nombre superrieur ou égale a 1"
read mois
echo " car ( $mois est inferieur a 1 )"
else
echo
echo Mois de naissance : $mois
echo
fi
echo
echo Tappez votre année de naissance "en 4 chiffres Ex : 1900 ":
echo
read annee
echo ${annee}-"1900"
#date +%e &&date +%A &&date +%B &&date +%G
if zenity --calendar \
--title="confirmer la date de votre jour de naissance" \
--text="Cliquez sur votre date pour la confirmer." \
--day=$jour --month=$mois --year=$annee
then echo $?
else echo "Aucune date sélectionnée"
fi
if test $jours -eq 'date +%B' ; then
if test $0$mois -eq 'date +%m' ; then
echo "bonne année versaire !"
fi
fi
SVP et merci
karirovax ;)
j'ai un petit prb avec la commande IF , malgrés plusieurs manip avec comme : IF [$var1 -eq $var2] ; then ...; fi
donc je vous donne mon code , s'il ya aussi d'autre manip , je suis preneur ;)
voici mon code en bash :
#!/bin/bash
echo
echo
echo CE programme permet de trouver
echo
echo votre jour de naissance
echo
echo
echo ------------------------------------------------------------------
echo janvier fevrier mars avril mai juin juillet août sept oct nov dec
echo ------------------------------------------------------------------
echo 0 3 3 6 1 4 6 2 5 0 3 5
echo ------------------------------------------------------------------
echo
echo ----------------------------
echo dim lun mar mer jeu ven sam
echo ----------------------------
echo 0 1 2 3 4 5 6
echo ----------------------------
echo
echo
echo Tappez votre jour de naissance :
echo
read jour
if [ "$jour" -gt "31" ] ; then echo " Vous devez choisir un nombre inferieur ou égale a 31"
echo " car ( $jour est superieur a 31 )"
read jours
elif [ "$jour" -le "0" ] ; then echo " Vous devez choisir un nombre superrieur ou égale a 1"
echo " car ( $jour est inferieur a 1 )"
read jours
else
echo
echo Jour de naissance : $jour
echo
fi
echo
echo Tappez votre mois de naissance :
echo
read mois
if [ $mois -gt "12" ] ; then echo " Vous devez choisir un nombre inferieur ou égale a 12"
echo " car ( $mois est superieur a 12 )"
read mois
elif [ $mois -le "0" ] ; then echo " Vous devez choisir un nombre superrieur ou égale a 1"
read mois
echo " car ( $mois est inferieur a 1 )"
else
echo
echo Mois de naissance : $mois
echo
fi
echo
echo Tappez votre année de naissance "en 4 chiffres Ex : 1900 ":
echo
read annee
echo ${annee}-"1900"
#date +%e &&date +%A &&date +%B &&date +%G
if zenity --calendar \
--title="confirmer la date de votre jour de naissance" \
--text="Cliquez sur votre date pour la confirmer." \
--day=$jour --month=$mois --year=$annee
then echo $?
else echo "Aucune date sélectionnée"
fi
if test $jours -eq 'date +%B' ; then
if test $0$mois -eq 'date +%m' ; then
echo "bonne année versaire !"
fi
fi
SVP et merci
karirovax ;)
A voir également:
- Aide sur la commande IF sous ubuntu
- Invite de commande - Guide
- Commande terminal mac - Guide
- Ubuntu 32 bits - Télécharger - Systèmes d'exploitation
- Diskpart commande - Guide
- Commande dism - Guide
3 réponses
Salut,
Tu as fait une erreur de frappe, ce n'est pas jours mais jour le nom de ta variable
Et puis vu que tu testes le jour alors %B te donne le mois et ton test ne peux pas fonctionner
N'oublie pas non plus que le jour est sur deux chiffre, donc soit tu saisie 0d soit tu utilises un sprintf
Exécution
Tu as fait une erreur de frappe, ce n'est pas jours mais jour le nom de ta variable
Et puis vu que tu testes le jour alors %B te donne le mois et ton test ne peux pas fonctionner
man date
%B nom complet, conformément aux paramètres régionaux, des mois (janvier.décembre)
N'oublie pas non plus que le jour est sur deux chiffre, donc soit tu saisie 0d soit tu utilises un sprintf
lami20j@debian-acer:~$ cat test.sh
#!/bin/bash
echo
echo
echo CE programme permet de trouver
echo
echo votre jour de naissance
echo
echo
echo ------------------------------------------------------------------
echo janvier fevrier mars avril mai juin juillet août sept oct nov dec
echo ------------------------------------------------------------------
echo 0 3 3 6 1 4 6 2 5 0 3 5
echo ------------------------------------------------------------------
echo
echo ----------------------------
echo dim lun mar mer jeu ven sam
echo ----------------------------
echo 0 1 2 3 4 5 6
echo ----------------------------
echo
echo
echo Tappez votre jour de naissance :
echo
read jour
if [ "$jour" -gt "31" ] ; then echo " Vous devez choisir un nombre inferieur ou égale a 31"
echo " car ( $jour est superieur a 31 )"
read jour
elif [ "$jour" -le "0" ] ; then echo " Vous devez choisir un nombre superrieur ou égale a 1"
echo " car ( $jour est inferieur a 1 )"
read jour
else
echo
echo Jour de naissance : $jour
echo
fi
echo
echo Tappez votre mois de naissance :
echo
read mois
if [ $mois -gt "12" ] ; then echo " Vous devez choisir un nombre inferieur ou égale a 12"
echo " car ( $mois est superieur a 12 )"
read mois
elif [ $mois -le "0" ] ; then echo " Vous devez choisir un nombre superrieur ou égale a 1"
read mois
echo " car ( $mois est inferieur a 1 )"
else
echo
echo Mois de naissance : $mois
echo
fi
echo
echo Tappez votre année de naissance "en 4 chiffres Ex : 1900 ":
echo
read annee
echo ${annee}-"1900"
#date +%e &&date +%A &&date +%B &&date +%G
if zenity --calendar \
--title="confirmer la date de votre jour de naissance" \
--text="Cliquez sur votre date pour la confirmer." \
--day=$jour --month=$mois --year=$annee
then echo $?
else echo "Aucune date sélectionnée"
fi
if test $jour -eq $(date +%d) ; then
if test $mois -eq $(date +%m) ; then
echo "bonne année versaire !"
fi
fi
Exécution
lami20j@debian-acer:~$ sh test.sh CE programme permet de trouver votre jour de naissance ------------------------------------------------------------------ janvier fevrier mars avril mai juin juillet août sept oct nov dec ------------------------------------------------------------------ 0 3 3 6 1 4 6 2 5 0 3 5 ------------------------------------------------------------------ ---------------------------- dim lun mar mer jeu ven sam ---------------------------- 0 1 2 3 4 5 6 ---------------------------- Tappez votre jour de naissance : 25 Jour de naissance : 25 Tappez votre mois de naissance : 07 Mois de naissance : 07 Tappez votre année de naissance en 4 chiffres Ex : 1900 : 1900 1900-1900 25/07/1900 0 bonne année versaire !
merci beaucoup , ça marche , un grand merci ;)