2009-08-11 14 views
7

Je travaille sur un script bash qui doit prendre une seule ligne et l'ajouter à la fin d'un fichier s'il existe, et s'il n'existe pas, créer le fichier avec le ligne.Ajouter au fichier si existe et créer sinon

J'ai jusqu'à présent:

if [ ! -e /path/to/file ]; then 
    echo $some_line > /path/to/file 
else 
    ??? 
fi 

Comment puis-je effectuer l'opération qui devrait aller dans le monde (en ajoutant la ligne de texte au fichier existant)?

Répondre

14

Utilisez deux angles: echo $some_line >> /path/to/file

9

> crée le fichier si elle n'existe pas; s'il existe, l'écrase.

>> crée le fichier s'il n'existe pas; s'il existe, il s'y ajoute.

if [ ! -e /path/to/file ]; then 
    echo $some_line > /path/to/file 
else 
    echo $some_line >> /path/to/file 
fi 
+2

utilisation echo $ juste some_line >>/chemin/vers/fichier sera suffisant puisque >> crée le fichier si elle n'existe pas – ghostdog74

+0

Oui, vous avez raison. Je viens de donner l'échantillon à Mark Roddy comme il l'a fait. – firstthumb

Questions connexes