2009-08-11 3 views
7

Tek bir satır alması ve varsa dosyanın sonuna eklemek için bir bash betiği üzerinde çalışıyorum ve eğer varsa, dosyayı hat. Bugüne kadar varVarsa dosyayı oluştur ve oluşturulmuyor

:

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

nasıl (varolan dosyaya metin satırı ekleyerek) else gitmeli işlemi gerçekleştirmek do

?

cevap

14

Kullanım iki açıları: o yoksa echo $some_line >> /path/to/file

9

> dosya oluşturur; Varsa, üzerine yazar.

>> mevcut değilse dosyayı oluşturur; Varsa, ona ekler.

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

kullanımı sadece/dosya o – ghostdog74

+0

Evet haklısınız yoksa >> dosya oluşturur çünkü yeterli olacaktır etmek/$ some_line >>/yol yankı. Örneği Mark Roddy'ye yaptığı gibi verdim. – firstthumb