[ -f "la_chaine" ]
ou
test -f "la_chaine"
pour les fichiers "normaux"
ou -a pour toute sorte de fichier ?
à moins que je n'ai pas compris la question ( cette histoire de flux .. ? )
man bash, puis:
/ -a fichier [ / ou la commande de recherche dans ton man ]te donnera la liste des tests sur les fichiers.
exemple: ces 3 syntaxes sont équivalente (ici)
Code:
if [ -f $fichier ] ; then ...
Code:
if [[ -f $fichier ]] ; then ...
Code:
if test -f $fichier ; then ...
Les tests peuvent se combiner:
Code:
if [ -f ${fichierps} -a ! -s ${fichierps} ] ; then
echo "Effacement du fichier vide ${fichierps}"
ls -l ${fichierps}
rm ${fichierps}
fi
[ = debut de la commande test
] = fin de le commande test
-f = $fichier existe et c'est un fichier normal
-a = and
# Fichier vide:
! = négation du test suivant
-s = existe et a une taille strictement positive
Attention: les espaces avant et après les crochets sont parties de la commande test: " [ " et " ] "
Pour un effacement silencieux:
[ -f ${fichierps} -a ! -s ${fichierps} ] && rm ${fichierps}