เมื่อใช้งาน echo "foo">> bar.txt
มากกว่าหนึ่งครั้งจะต่อท้ายไฟล์ วิธีการเขียนทับ bar.txt
แต่ละครั้ง?
เมื่อใช้งาน echo "foo">> bar.txt
มากกว่าหนึ่งครั้งจะต่อท้ายไฟล์ วิธีการเขียนทับ bar.txt
แต่ละครั้ง?
คำตอบ:
>
ใช้สำหรับเปลี่ยนเส้นทางไปยังไฟล์ (เขียนทับมัน) ในขณะที่ >>
สำหรับการต่อท้าย
เพื่อเขียนทับ bar.txt
ใช้สิ่งนี้:
echo "foo" > bar.txt
>
เรียกว่า เปลี่ยนเส้นทาง (เอาต์พุตมาตรฐานไปยังไฟล์) ในขณะที่สัญลักษณ์ไพพ์ |
เรียกว่า การเป่า (เอาต์พุตมาตรฐานไปยังกระบวนการอื่น) คุณเสี่ยงต่อการทำให้คนสับสนอย่างฉันเมื่อคุณพูดถึง >
เป็น 'piping'
|
สำหรับเชื่อมต่อเอาต์พุตของหนึ่งโปรแกรม / คำสั่งเข้ากับอินพุตของอีกโปรแกรมหนึ่ง ที่เกี่ยวข้อง .
> foo
มันเป็นเพียงน้ำตาลเชิงซ้อนสำหรับ | Out-File foo
และดังนั้นจึงเป็นรูปแบบของการวางท่อ ;-)
man bash
และค้นหา (ใช้/
) สำหรับส่วนที่ "REDIRECTION" ส่วนย่อยเฉพาะ "การเปลี่ยนเส้นทางผลผลิต" และ "ผนวกผลลัพธ์ที่เปลี่ยนเส้นทางต่อท้าย"