[shell] Fichier vide ou non (avec entete )

nouabi Messages postés 147 Statut Membre -  
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,

Dans un script shell je voudrais tester si un fichier 'mail' est vide ou non sachant que le test [ -s /fichier ] ne marche pas (n'est jamais vide ce qui est faut)

Comment pourrais je faire cela ?

Je pensai fair, grâce a une commande, ouvrir le fichier, rentrer le contenu dans une variable puis testé la variable ?
non ?
Merci
A voir également:

4 réponses

dubcek Messages postés 19021 Statut Contributeur 5 637
 
Un fichier vide est un fichier dont la taille est zéro. C'est bien test -s !
Que veux-tu tester ? Si un nouveau mail est arrivé ?
Pour placer le fichier dans une variable:
VAR=`cat /fichier`
0
nouabi Messages postés 147 Statut Membre 8
 
Le probleme c'est que mon fichier vide fait toujour 1 octect.
Du coup, le test -s est toujour vrai !!

Comment peut on ouvrir un fichier en shell et comment peut ton copié la totalité de son contenu dans une variable (que nous testerons par la suite).

Merci d'avance
0
nouabi Messages postés 147 Statut Membre 8
 
En fait je veu alle cherche un fichier texte dans un serveur ftp (local : a l'arrive ), puis le renvoyer par mail dès qu'il arrive. Je fai tourner le script a l'aide de cron mais il m'envoie des mail vide !!!

Je veu arrete ca ...
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
Pour placer le fichier dans une variable:
VAR=`cat /fichier`

pour que cron n'envoie pas de mails vides il faut rediriger toutes sorties: crontab :
..................... > /dev/null ou /path/cronlog 2>&1
0