ฉันต้องการที่จะเขียนข้อความที่กำหนดไว้ล่วงหน้าบางส่วนลงในไฟล์ที่มีต่อไปนี้:
text="this is line one\n
this is line two\n
this is line three"
echo -e $text > filename
ฉันคาดหวังอะไรแบบนี้:
this is line one
this is line two
this is line three
แต่ได้สิ่งนี้:
this is line one
this is line two
this is line three
ฉันคิดว่าไม่มีที่ว่างหลังจากแต่ละ\n
อัน แต่พื้นที่พิเศษจะออกมาได้อย่างไร
\n
ในแต่ละบรรทัดคุณได้กดขึ้นบรรทัดใหม่เพื่อย้ายไปยังบรรทัดใหม่
\n
ทำไมคุณใส่บรรทัดใหม่ในบรรทัดใหม่ เพียงแค่text="this is line one\nthis is line two\nthis is line three"
\n
ท้ายของแต่ละบรรทัดออกทำให้การส่งออกทั้งหมดทำงานร่วมกันในบรรทัดเดียว
"$text"
เส้นเสียงนั้นเป็นสิ่งสำคัญ หากไม่มีพวกเขาจะไม่มีการขึ้นบรรทัดใหม่ (ทั้งตัวอักษรและ '\ n') กับพวกเขาพวกเขาทั้งหมดทำ
text="this is line one\nthis is line two\nthis is line three"
ในบรรทัดเดียวกัน .. (ไม่มีการป้อนข้อมูลใด ๆ )