Saturday, April 30, 2011

ชื่อไฟล์ที่ขึ้นต้นด้วย ขีด (-) มีปัญหากับ shell ใน unix / linux

ในหลายเพลา เรามักจะพบว่า ไฟล์ที่เราได้รับมาจากผู้อื่นนั้นมีการใช้ dash (ขีด, -) นำหน้าชื่อไฟล์ เช่น:

-abc.torrent

    การที่ชื่อไฟล์ขึ้นต้นด้วย - นั้นจะสร้างปัญหาให้กับ shell ที่เราใช้อยู่ สืบเนื่องจาก shell จะไปเข้าใจว่า "-" ขีดเส้นนั้นเป็น command line option (ซึ่งมักขึ้นต้นด้วย ขีด นั่นเอง)

    วิธีแก้ปัญหานี้คือ ให้ใส่ ขีดสองตัวติดกัน (--) ต่อท้ายคำสั่งที่เราเรียกใช้นั่นเอง แล้วหลังจากนั้นจึงเป็นชื่อไฟล์ที่เป็นปัญหา ตัวอย่างเช่น:

    $ mv -- -abc.torrent abc.torrent

    จึงขอประกาศให้ทราบโดยทั่วกัน

    อ้างอิง:

    0 comments:

    Post a Comment