2012-11-01 19 views
76

Powiel możliwe:
Shell script to append text to each file?
How to append output to the end of text file in SHELL Script?bash dołączyć zawartość pliku do końca istniejącego pliku

Staram się wypracować najlepszy sposób, aby wstawić dane do api wcześniej istniejąca konfiguracja. Pomyślałem o użyciu sed do wstawienia zawartości pliku tekstowego api na dół pliku config.inc. Uruchomiłem skrypt, ale to nie działa i powoduje wyczyszczenie pliku.

#!/bin/bash 

CONFIG=/home/user/config.inc 
API=/home/user/api.txt 

sed -e "\$a $API" > $CONFIG 

Co robię źle?

Odpowiedz

169

To powinno działać:

cat "$API" >> "$CONFIG" 

trzeba użyć operatora >> do dołączania do pliku. Przekierowanie z > powoduje nadpisanie pliku. (kadłubowy).

+4

Dla pojedynczego ciągu, użyj 'echo' jak to 'echo" eksportuj JAVA_HOME =/usr/lib/jvm/jdk1.8.0_112 ">> ~/.bashrc' – shellbye

+0

Dlaczego' echo' zamiast 'cat'? –

+1

'cat' zapisuje zawartość nazwanych plików na standardowe wyjście. 'echo' zapisuje argumenty do stdout. Robią różne rzeczy. –

Powiązane problemy