Cách thêm dòng vào cuối tệp trên Linux


120

Tôi muốn thêm 2 dòng sau ...

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1600x1200"

vào cuối tệp vncservers được tìm thấy tại thư mục .... / etc / sysconfig /

Tôi có thể làm cái này như thế nào?

Cảm ơn


2
Bạn có thể sử dụng vihoặc emacs. Bạn có biết làm thế nào để sử dụng? Tôi không cố mỉa mai.

Câu trả lời:


232

Cách dễ nhất để chuyển hướng đầu ra của tiếng vang bằng >>

echo 'VNCSERVERS="1:root"' >> /etc/sysconfig/configfile
echo 'VNCSERVERARGS[1]="-geometry 1600x1200"' >> /etc/sysconfig/configfile

3
Chỉ vì tò mò, làm thế nào bạn có thể nối văn bản vào một tệp mà không cần tạo một dòng mới?
Martin Hansen

11
Nó phụ thuộc vào dòng được thêm cuối cùng, không phải lệnh hiện tại của bạn. Khi bạn thực hiện tệp $ echo "foobar" >>, dòng mới đã ở đó. Nếu bạn tạo tệp $ echo -n "foobar" >>, bạn sẽ không nối dòng mới vào cuối dòng, vì vậy bạn sẽ viết theo cùng một dòng.
user897079

9
Điều này không hoạt động khi trong môi trường sudo ghi vào tệp hệ thống. Bạn không thể sudo >>. Nếu không, nó hoạt động tốt.
Dennis

4
Bạn có thể sử dụng lệnh "sed" như sau: ---------- sed -i "$ a some text" somefile.txt --------- -i: chỉnh sửa tệp tại chỗ, $ tìm kết thúc của file, a: append
Lunf

9
@Dennis Đó là do cách dòng lệnh được phân tích cú pháp. 'sudo abc >> def' sẽ là 'sudo abc' và sau đó là '>> def' đầu ra. Để sử dụng toàn bộ bit 'abc >> def', bạn phải làm như sau: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ "' >> / etc / sysconfig / configfile" (lưu ý rằng dấu ngoặc kép bên trong phải được thoát ra)
Urhixidur
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.