วิธีเพิ่มบรรทัดที่ท้ายไฟล์บน Linux


122

ฉันต้องการเพิ่ม 2 บรรทัดต่อไปนี้ ...

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

ไปที่จุดสิ้นสุดของไฟล์ vncservers ที่พบในไดเร็กทอรี .... / etc / sysconfig /

ฉันจะทำเช่นนี้ได้อย่างไร?

ขอบคุณ


2
คุณสามารถใช้viหรือemacs. คุณรู้วิธีใช้หรือไม่? ฉันไม่ได้พยายามที่จะประชดประชัน

คำตอบ:


234

วิธีที่ง่ายที่สุดในการเปลี่ยนทิศทางเอาต์พุตของเสียงสะท้อนโดย >>

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

3
ด้วยความอยากรู้คุณจะต่อท้ายข้อความในไฟล์โดยไม่ต้องสร้างบรรทัดใหม่ได้อย่างไร?
Martin Hansen

11
ขึ้นอยู่กับบรรทัดสุดท้ายที่เพิ่มไม่ใช่คำสั่งปัจจุบันของคุณ เมื่อคุณสร้างไฟล์ $ echo "foobar" >> ขึ้นบรรทัดใหม่จะอยู่ที่นั่นแล้ว ถ้าคุณทำ $ echo -n "foobar" >> file คุณจะไม่ต่อท้ายบรรทัดใหม่ที่ท้ายบรรทัดดังนั้นคุณจะต้องเขียนในบรรทัดเดียวกัน
user897079

9
สิ่งนี้ใช้ไม่ได้เมื่ออยู่ในสภาพแวดล้อม sudo ที่เขียนไปยังไฟล์ระบบ คุณไม่สามารถ sudo >> มิฉะนั้นจะทำงานได้ดี
Dennis

4
คุณสามารถใช้คำสั่ง "sed" ดังนี้ ---------- sed -i "$ a some text" somefile.txt --------- -i: แก้ไขไฟล์ในตำแหน่ง $ ค้นหาจุดสิ้นสุดของไฟล์ a: ต่อท้าย
Lunf

9
@ เดนนิสนั่นเป็นเพราะวิธีการแยกวิเคราะห์บรรทัดคำสั่ง 'sudo abc >> def' จะ 'sudo abc' แล้วตามด้วย '>> def' ผลลัพธ์ ในการ sudo บิต 'abc >> def' ทั้งหมดคุณต้องทำสิ่งนี้: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ "' >> / etc / sysconfig / configfile" (โปรดสังเกตว่า ต้องหลีกเลี่ยงเครื่องหมายคำพูดคู่ภายใน)
Urhixidur
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.