ความแตกต่างระหว่างตัวดำเนินการ >> และ> \>?


25

RHEL 6

มีความแตกต่างระหว่าง>>และ>\>ผู้ประกอบการหรือไม่ ฉันอ่านข้อความต่อไปนี้ในหนังสือการฝึกอบรม RHEL:

คุณสามารถเพิ่มเอาต์พุตมาตรฐานไปยังจุดสิ้นสุดไฟล์ที่มีอยู่ด้วยลูกศรเปลี่ยนเส้นทางสองครั้งพร้อมกับคำสั่งเช่น ls >\> filelist

ฉันคุ้นเคยกับ>>โอเปอเรเตอร์มากกว่าและเมื่อฉันลองทั้งคู่ฉันจะได้ผลลัพธ์ที่แตกต่างกัน

  • การใช้>>ดูเหมือนจะผนวกเอาต์พุตไปยังไฟล์ที่ตามมา (ตามที่คาดไว้)
  • การใช้>\>ดูเหมือนจะผนวกเอาต์พุตไปยังไฟล์ที่ชื่อแท้จริง>

นี่เป็นข้อผิดพลาดในหนังสือที่ฉันอ่านหรือไม่? หรือฉันพลาดจุดของผู้เขียน


@Sirex สั้น ๆ แต่คำตอบ
jordanm

ใช่ฉันเดา!
Sirex

คำตอบ:


45

>>หากต้องการเพิ่มข้อความลงในไฟล์ที่คุณใช้ >การเขียนทับข้อมูลปัจจุบันในแฟ้มที่คุณใช้ โดยทั่วไปในการทุบตีและเปลือกหอยอื่น ๆ \ที่คุณหลบหนีโดยใช้ตัวอักษรพิเศษ

ดังนั้นเมื่อคุณใช้echo foo >\>สิ่งที่คุณพูดคือ "การเปลี่ยนเส้นทางไปยังไฟล์ที่เรียกว่า>" >แต่ที่เป็นเพราะคุณกำลังหลบหนีที่สอง มันเป็นเทียบเท่ากับการใช้ซึ่งเป็นเช่นเดียวกับecho foo > \>echo foo > '>'

ดังนั้นใช่ดังที่ Sirex กล่าวว่าเป็นไปได้ว่าการพิมพ์ผิดในหนังสือของคุณ


12

ดูเหมือนว่าพิมพ์ผิด .. ... .. ..


1
ขอบคุณ สงสัยว่าถ้าฉันขาดแนวคิดลินุกซ์ที่เรียบง่ายบางอย่างที่นี่ =)
Mike B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.