bjr,

je cherche une solution simple pour corriger un problème de ftp.

archi actuelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
                        if [ -s ${ind_fic} ]
                        then
                                echo "                  Envoi du fichier ${ind_fic} vers ${serveur}. "
(
ftp -nv ${serveur} <<FIN
ascii
put ${ind_fic} ${LST_F}
bye
FIN
)   2>/tmp/test_ftp_${NOM_SCRIPT}_2 1>/tmp/test_ftp_${NOM_SCRIPT}_1

ce qui marche parfaitement depuis des années.
mais par contre il arrive désormais que l'on ai des fichiers à zéro en taille (0 bytes).

hors le parametre -s dans un if comme l'indique le man page de ksh
-r file
TRUE, if file exists and is readable by current process.

-s file
TRUE, if file exists and has size greater than 0 (zero).

-S file
TRUE, if file exists and is a socket.

-t file_des
TRUE, if file descriptor number file_des is open and associated with a
terminal device.
est le paramètre qui interdit l'exécution du ftp si le fichier est à zéro.

le problème : le ftp est tout de même exécuté et provoque une erreur bien sur dans la suite des traitements.


alors pourquoi le test if [ -s ... est t il outrepassé ?

/!\ KSH pas BASH /!\


merci