วิธีการ cd ไปยังไดเรกทอรีที่มีชื่อขึ้นต้นด้วย“ -” (ลบ)?


10

เรามีบางโฟลเดอร์ที่ชื่อขึ้นต้นด้วย "-" หากฉันพยายามป้อนด้วยเทอร์มินัลcdตีความ "-" เป็นตัวเลือก ฉันจะจัดการสิ่งนี้ได้อย่างไร


1
เราควรหลีกเลี่ยงอักขระดังกล่าวในชื่อไดเรกทอรี / โฟลเดอร์
Mindwin

คุณทำcd '-my-directory'ไม่ได้เหรอ
OldBunny2800

@ oldbunny2800 คุณลองไหม
nohillside

1
@ OldBunny2800 No. Quotes ป้องกันเชลล์ไม่ให้ทำการแยกอักขระ สตริงที่ขึ้นต้นด้วยยัติภังค์จะถือว่าเป็นตัวเลือก (หรือไม่) โดยคำสั่งที่ได้รับการขัดแย้งโดยไม่คำนึงถึงวิธีการที่สตริงเหล่านั้นถูกนำเสนอให้กับเปลือก
chepner

1
@patrix ฉันทำทันทีหลังจากที่โพสต์ความคิดเห็นจากนั้นก็ถูกรบกวนโดย shenanigans terminal อื่น ๆ แล้วลืมความคิดเห็นของฉัน :) Chepner ohhh มันสมเหตุสมผลมากกว่า
OldBunny2800

คำตอบ:


20

นี่ควรใช้งานได้:

cd /path/to/-folderthatstartswithdash

แก้ไข :

ตามคำถามนี้จะได้ผลถ้าคุณต้องการป้อนชื่อ:

cd -- -folderthatstartswithdash

5
--วิธีเป็นคำตอบที่ถูกต้อง ... มันจะทำงานกับสาธารณูปโภคมาตรฐานส่วนใหญ่ที่รับชื่อไฟล์เป็นอาร์กิวเมนต์และบันทึกต้องมีคุณสมบัติอย่างเต็มที่เส้นทาง
Kaithar

--วิธีการทำงานตามที่ "ผลัดกันออก" อาร์กิวเมนต์แยก
โทนี่วิลเลียมส์

3
ทำไมข้อ จำกัด "ถ้าคุณเพียงแค่ใส่ชื่อ"? --หากคุณต้องการการขัดแย้งมากขึ้นเพียงทำให้พวกเขาก่อน
Federico Poloni

@FedericoPoloni ฉันแค่บอกว่าถ้าคุณไม่ต้องการเส้นทางเต็มคุณสามารถใช้มัน อาร์กิวเมนต์อื่นทั้งหมดควรไปก่อน -
Tom Shen

19
cd ./-folder

มักจะทำงานได้ค่อนข้างดีที่นี่ (และด้วยคำสั่งอื่น ๆ )


สิ่งหนึ่งที่ดีเกี่ยวกับโซลูชันนี้คือมันทำงานได้กับโปรแกรมหรือคำสั่งใด ๆ ไม่ใช่แค่ 'cd'; มันไม่ได้ขึ้นอยู่กับคำสั่งหรือโปรแกรมที่มีพฤติกรรมพิเศษเช่น "-" เพื่อเปลี่ยนการตีความการขัดแย้งที่ตามมา
Larry Gritz

-5

การใส่ชื่อในเครื่องหมายคำพูดควรใช้งานได้


3
ทำไมถึงใช้งานได้ ยูทิลิตีจะรู้ถึงความแตกต่างอย่างไร การอ้างอิงจะทำโดยเชลล์หลังจากทั้งหมดอาเรย์อาร์กิวเมนต์ที่ยูทิลิตีที่ได้รับจะเหมือนกันทุกประการ ฉันยอมรับว่าฉันไม่ได้ลองวิธีแก้ปัญหาของคุณ แต่จากสิ่งเล็ก ๆ น้อย ๆ ที่ฉันรู้เกี่ยวกับหอยมันดูเหมือนชัดเจนในตัวเองว่าสิ่งนี้ไม่สามารถทำงานได้
Jörg W Mittag

สิ่งนี้ควรใช้ได้กับ Windows IIRC และเป็นสิ่งที่ฉันคิดไว้ก่อน แต่ฉันสามารถยืนยันได้ว่ามันไม่ทำงานบน mac
Cullub

2
หากใช้งานได้บน Windows นั่นเป็นเพียงเพราะรุ่นบรรทัดคำสั่งของ Windows นั้นไร้สาระและไม่สอดคล้องกันอย่างเต็มที่ หรือเพียงเพราะคำสั่ง Windows ไม่ได้ถือว่า-เป็นตัวเลือก แต่ไม่มีวิธีที่จะสามารถเปลี่ยนพฤติกรรมนี้ได้
. GitHub หยุดช่วยน้ำแข็ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.