2012-11-01 10 views
76

संभव डुप्लिकेट:
Shell script to append text to each file?
How to append output to the end of text file in SHELL Script?बैश मौजूदा फ़ाइल की तह तक फ़ाइल सामग्री संलग्न

मैं एक में एपीआई विवरण सम्मिलित करने के लिए सबसे अच्छा तरीका है बाहर काम करने के कोशिश कर रहा हूँ पूर्व मौजूदा विन्यास। मैंने config.inc फ़ाइल के नीचे एपीआई टेक्स्ट फ़ाइल की सामग्री डालने के लिए sed का उपयोग करने के बारे में सोचा। मैंने स्क्रिप्ट शुरू कर दी है लेकिन यह काम नहीं करती है और यह फ़ाइल को मिटा देती है।

#!/bin/bash 

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

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

मैं क्या गलत कर रहा हूं?

उत्तर

169

यह काम करना चाहिए:

cat "$API" >> "$CONFIG" 

आप एक फ़ाइल में जोड़ने के लिए >> ऑपरेटर का उपयोग करने की आवश्यकता है। > के साथ रीडायरेक्ट करने से फ़ाइल को अधिलेखित किया जा सकता है। (छोटा कर दिया)।

+4

एकल स्ट्रिंग के लिए, 'echo' निर्यात 'echo' निर्यात करें जैसे 'echo' निर्यात JAVA_HOME =/usr/lib/jvm/jdk1.8.0_112 ">> ~/.bashrc' – shellbye

+0

' cat' के बजाय 'echo' क्यों? –

+1

'cat' नामित फ़ाइलों की सामग्री stdout लिखता है। echo' stdout के लिए तर्क लिखता है। वे अलग-अलग चीजें करते हैं। –

संबंधित मुद्दे