2009-08-11 16 views
7

Estoy trabajando en un script bash que necesita tomar una sola línea y agregarla al final de un archivo si existe, y si no existe crear el archivo con el línea.Agregar al archivo si existe y crear si no

que tengo hasta ahora:

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

¿Cómo se realiza la operación que debe ir en la otra (la adición de la línea de texto en el archivo existente)?

Respuesta

14

Uso dos ángulos: echo $some_line >> /path/to/file

9

> crea el archivo si no existe; si existe, lo sobrescribe.

>> crea el archivo si no existe; si existe, se le atribuye.

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

uso solo echo $ some_line >>/ruta/a/archivo será suficiente, ya que >> crea el archivo si no existe – ghostdog74

+0

Si usted tiene razón. Acabo de darle la muestra a Mark Roddy como lo hizo. – firstthumb

Cuestiones relacionadas