2009-08-11 2 views
7

Я работаю над сценарием bash, который должен взять одну строку и добавить ее в конец файла, если она существует, и если она не существует, создайте файл с линия.Добавить в файл, если существует, и создать, если нет

У меня до сих пор:

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

Как выполнить операцию, которая должна идти в другое (добавив строку текста в существующий файл)?

ответ

14

Используйте два угла: echo $some_line >> /path/to/file

9

> создает файл, если он не существует; если он существует, перезаписывает его.

>> создает файл, если он не существует; если он существует, добавляет к нему.

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

использование только эхо $ some_line >>/путь/к/файлу будет достаточно, поскольку >> создает файл, если он не существует – ghostdog74

+0

Да, вы правы. Я просто дал образец Марк Родди, как и он. – firstthumb

Смежные вопросы