2012-11-01 10 views
76

Mögliche Duplizieren anhängen:
Shell script to append text to each file?
How to append output to the end of text file in SHELL Script?bash Dateiinhalt auf den Boden der bestehenden Datei

Ich versuche, die beste Art und Weise zu arbeiten, api Details in eine einfügen Vorhandene Konfiguration Ich dachte über sed, um den Inhalt der API-Textdatei an den unteren Rand der Datei config.inc einzufügen. Ich habe das Skript gestartet, aber es funktioniert nicht und es löscht die Datei.

#!/bin/bash 

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

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

Was mache ich falsch?

Antwort

169

sollte diese Arbeit:

cat "$API" >> "$CONFIG" 

Sie müssen den >> Operator verwenden, um eine Datei anzuhängen. Die Umleitung mit > bewirkt, dass die Datei überschrieben wird. (gekürzt).

+4

Verwenden Sie für einzelne Zeichenfolge 'echo' wie diese 'echo" export JAVA_HOME =/usr/lib/jvm/jdk1.8.0_112 ">> ~/Bashrc' – shellbye

+0

Warum' echo' anstelle von 'cat'? –

+1

'cat' schreibt den Inhalt der benannten Dateien in stdout. 'echo' schreibt die Argumente nach stdout. Sie machen verschiedene Dinge. –