Script Bash et conditions IF
Résolu/Fermé
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
-
2 juil. 2008 à 18:34
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 13 avril 2012 à 12:00
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 13 avril 2012 à 12:00
A voir également:
- If [ -z ] bash
- Code ascii de a à z - Guide
- Z flip 4 s'éteint quand je le ferme - Forum Samsung
- Bash addition ✓ - Forum Shell
- Bash do while ✓ - Forum Shell
- Cpu z msi gaming ✓ - Forum Jeux PC
1 réponse
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
2 juil. 2008 à 18:48
2 juil. 2008 à 18:48
Salut,
#! /bin/bash OMEMAJ="/home/${USER}" if [ "${USER}" == "toto" ] then REPMAJ="totorep" elif [ "${USER}" == "tata" ] then REPMAJ="tatarep" else echo "pas de dossier" exit 1 fi exit 0;-))
2 juil. 2008 à 23:29
4 juil. 2008 à 09:01
4 juil. 2008 à 20:22
Modifié par mourad.ounough le 13/04/2012 à 11:47
jai une question sur ce sujet jai fait un script pour checker si le fichier est vide pas de mail ,alors s'il nest pas vide jenvoi le mail mais méme il est vide je recoi un mail (vide)
voila le script :
day='date "+%Y-%m-%d %H:%M:%S " '
ssh user@ip ' /home/directory/remotescript.sh' >> /home/directory/local/resultat.lst
[ -s /home/directory/local/resultat.lst ]
[ -e /home/directory/local/resultat.lst ]
echo $?
if [ 'echo $?' -eq 1 ];then
(
echo open ip@serveur
sleep 1
echo helo localhost
sleep 1
echo mail from: @group
sleep 1
echo rcpt to: admin@@domaine.com
sleep 1
echo data
sleep 1
echo subject: DAILY_CHECKLIST_$day
sleep 1
echo From: admin@@domaine.com
sleep 1
echo To: admin@@domaine.com
sleep 1
echo Cc: admin@@domaine.com
sleep 1
echo "Dear all,"
echo
echo
echo "The following check list is done : "
echo " "
echo
sleep 1
echo
echo
cat /home/directory/local/resultat.lst
echo
echo
echo "With Regards,"
echo "admin@@domaine.com team."
echo .
sleep 1
echo quit ) | telnet > /dev/null 2>&1
fi
rm /home/directory/local/resultat.lst
exit
#############################
merci a vous en avance
mes respects
cdt
Modifié par zipe31 le 13/04/2012 à 12:14
[ -s /home/directory/local/resultat.lst ]
[ -e /home/directory/local/resultat.lst ]
Il te faut choisir, ou l'un ou l'autre, mais pas les 2 ;-(
Mais dans ton cas il faut garder que la condition '-s' (on teste si la taille est différente de zéro).
echo $?
if [ 'echo $?' -eq 1 ];then
Idem, si tu affiches le code retour avec la commande "echo", alors le prochain "$?" (celui que tu testes ensuite) ne vaudra plus la valeur de retour de ton test "[ -s /home/directory/local/resultat.lst ]", mais la valeur de retour de "echo $?" ;-\
Dans ce cas il vaut meiux garder le résultat dans une variable :