2011-04-09 2 views
0

je vérifier si un fichier existe ou non, mais j'obtiens l'erreur avec le code suivantscripts Shell erreur numéro illégal

filename="a.txt" 
if [ -s $filename ] ; then 
    echo "exists" 
else 
    echo "not exists" 
fi 

Il donne l'erreur [: 116: Numéro illégal

Quelle pourrait être la problème?

+0

ce qui est l'erreur? – Rich

+0

Il donne [: 116: nombre Illégal: – thetux4

Répondre

1

Vous devez utiliser -f:

filename="a.txt" 
; touch $filename 
; echo $filename 
if [ -f "$filename" ] ; then 
    echo "exists" 
else 
    echo "not exists" 
fi 

-s est de vérifier que "FICHIER existe et est une prise".

Notes:

  • uncomment la phrase touch que le fichier existe. Décommentez la phrase echo $filename pour vous assurer que le contenu var.
  • Essayez de joindre à " pour vous assurer qu'aucun espace ou caractères spéciaux à l'intérieur $filename.

Références:

+0

-f donne la même erreur. – thetux4

+0

Quelle est l'erreur? – FerranB

+0

[: 116: Numéro non valide: est l'erreur – thetux4