2012-11-01 38 views
76

thể trùng lặp:
Shell script to append text to each file?
How to append output to the end of text file in SHELL Script?bash thêm nội dung tập tin để dưới cùng của tập tin hiện có

Tôi đang cố gắng để tìm ra cách tốt nhất để chèn chi tiết api thành một cấu hình sẵn có trước đó. Tôi đã nghĩ đến việc sử dụng sed để chèn nội dung của tệp văn bản api vào cuối tệp config.inc. Tôi đã bắt đầu kịch bản nhưng nó không hoạt động và nó xóa sạch tệp.

#!/bin/bash 

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

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

Tôi đang làm gì sai?

Trả lời

169

này nên làm việc:

cat "$API" >> "$CONFIG" 

Bạn cần phải sử dụng các nhà điều hành >> để nối thêm vào một tập tin. Chuyển hướng với > khiến tệp bị ghi đè. (cắt ngắn).

+4

Đối với chuỗi đơn, sử dụng 'echo' như thế này" echo "xuất khẩu JAVA_HOME =/usr/lib/jvm/jdk1.8.0_112" >> ~/.bashrc' – shellbye

+0

Tại sao 'echo' thay vì' cat'? –

+1

'cat' ghi nội dung của các tập tin được đặt tên tới stdout. 'echo' viết các đối số cho stdout. Họ làm những việc khác nhau. –

Các vấn đề liên quan