Linux มีเชลล์ Bash เริ่มต้น (aka Bourne again shell) เพื่อดำเนินการคำสั่งสำหรับระบบ โปรแกรมเมอร์ส่วนใหญ่ชอบ bash มากกว่า cmd เนื่องจากความยืดหยุ่นและตัวแปลบรรทัดคำสั่งที่มีประสิทธิภาพที่ bash มีให้ อย่างไรก็ตามผู้ใช้ส่วนใหญ่จะยังคงมีปัญหาในขณะที่พยายามจัดการกับการส่งชื่อไฟล์ด้วยช่องว่างใน bash เนื่องจากช่องว่างไม่ถือว่าเหมือนกันใน bash เนื่องจากอยู่ในชื่อไฟล์
ไฟล์ที่มีช่องว่างในชื่อ
เหตุใดชื่อไฟล์ที่มี Spaces จึงไม่รู้จัก Bash
ใน Bash หากคุณพิมพ์หลายคำโดยไม่มี หนี อักขระ () หรือ ใบเสนอราคา มันจะถือว่าทุกคำเป็นข้อโต้แย้ง ที่ใช้กับการดำเนินการทั้งหมดไม่ว่าคุณจะเปลี่ยนไดเร็กทอรีด้วย ' ซีดี 'หรือพยายามเข้าถึงไฟล์ด้วย' แมว ‘คำสั่ง สิ่งที่คุณเขียนหลังจากใช้สิ่งเหล่านี้จะถือเป็นข้อโต้แย้ง ตัวอย่างเช่น:
ชื่อไฟล์ cat.txt
รันคำสั่งโดยไม่ใช้อักขระหลีกหรือเครื่องหมายคำพูด
บันทึก : ชื่อไฟล์ของคุณอาจเป็นอะไรก็ได้ แต่สำหรับบทความนี้เราจะใช้“ ชื่อไฟล์. txt ' ตัวอย่างเช่น.
ที่นี่ ‘ แมว ‘คำสั่งจะพิจารณา ไฟล์ และ ชื่อ เป็นสองอาร์กิวเมนต์แทนที่จะเป็นอาร์กิวเมนต์เดียว อย่างไรก็ตามหากคุณใช้อักขระหลีกหรือเครื่องหมายคำพูด bash shell จะพิจารณาว่าเป็นอาร์กิวเมนต์เดียวซึ่งจะเป็น ' ชื่อไฟล์. txt '.
ชื่อไฟล์ที่มี Spaces ใน Bash
มีไม่กี่วิธีที่สามารถใช้สำหรับช่องว่างในชื่อ แนวทางปฏิบัติที่ดีที่สุดคือหลีกเลี่ยงการเว้นวรรคสำหรับชื่อไฟล์ในอนาคต วิธีง่ายๆคือเปลี่ยนชื่อไฟล์ที่คุณพยายามเข้าถึงและลบช่องว่าง วิธีการอื่นบางวิธีใช้เครื่องหมายคำพูดเดี่ยวหรือคู่กับชื่อไฟล์ที่มีช่องว่างหรือใช้สัญลักษณ์ Escape () ก่อนช่องว่าง เราจะนำเสนอวิธีการพร้อมตัวอย่างที่ใช้เพื่อแสดงวิธีการทำงาน
วิธีที่ 1: ใช้ใบเสนอราคาเดี่ยวและคู่
- ถือ Ctrl + Alt ปุ่มและกด ที เพื่อเปิด เทอร์มินอล .
- ตอนนี้เปลี่ยนไดเร็กทอรีเป็นที่ตั้งของไฟล์
(นอกจากนี้คุณยังสามารถ ลาก และ หล่น ไฟล์ในเทอร์มินัลหลังคำสั่ง ‘ แมว ‘ซึ่งจะใส่ใบเสนอราคาในเส้นทาง / ไดเรกทอรีของไฟล์โดยอัตโนมัติ)ซีดีเดสก์ท็อป
การเปลี่ยนไดเร็กทอรี
บันทึก : เดสก์ท็อปสามารถเปลี่ยนเป็นตำแหน่งที่คุณพยายามเข้าถึงได้
- พิมพ์คำสั่งต่อไปนี้เพื่ออ่านไฟล์ข้อความที่มีช่องว่างในชื่อ:
cat 'file name.txt'
หรือ
cat 'file name.txt'
การใช้ใบเสนอราคาเพื่อหลีกเลี่ยงการเว้นวรรคในข้อผิดพลาดของชื่อ
- ใบเสนอราคาเดี่ยวและคู่จะให้ผลลัพธ์เหมือนกัน ในบางกรณีคุณต้องลองทั้งสองอย่างและดูว่าอันไหนใช้ได้ผล
วิธีที่ 2: การใช้ Backlash Escape Character
- ถือ Ctrl + Alt ปุ่มและกด ที เพื่อเปิด เทอร์มินอล .
- เปลี่ยนไดเร็กทอรีเป็นตำแหน่งที่ไฟล์อยู่โดยใช้คำสั่งต่อไปนี้
ซีดีเดสก์ท็อป
บันทึก : ใส่ชื่อสถานที่ของคุณแทนเดสก์ท็อป
- ตอนนี้พิมพ์คำสั่งและใช้ หนี อักขระที่ใดก็ได้ที่มีช่องว่างในชื่อ:
ไฟล์ cat name.txt
ใช้อักขระ Escape เพื่อหลีกเลี่ยงข้อผิดพลาดช่องว่าง
โบนัส: การใช้ใบเสนอราคาและการหลบหนี
บางครั้งเมื่อคุณใช้ไดเร็กทอรีในคำสั่งอาจมีผลจากการใช้ใบเสนอราคาบนพา ธ โดยรวม เนื่องจากบางคำสั่งเช่น ‘ mv ' หรือ ' cp ‘จะพิจารณาเส้นทางเป็น แหล่งที่มาของไฟล์ หากใช้ใบเสนอราคาทั้งหมด คุณต้องระบุใบเสนอราคาสำหรับทั้งสองอย่าง แหล่งที่มา และ ปลายทาง ทีละคำสั่งเช่น ‘ cp ‘สามารถทำงานได้อย่างถูกต้อง. คุณยังสามารถตรวจสอบตัวอย่างด้านล่างซึ่งจะแสดงให้คุณเห็นว่าการใช้อักขระหลีกสำหรับเส้นทางนั้นซับซ้อนกว่ามากและผู้ใช้อาจทำผิดพลาดได้
ความแตกต่างระหว่างเครื่องหมายคำพูดและอักขระหลีก
2 นาทีอ่าน