วิธีการ cd ไปยังไดเรกทอรีที่มีช่องว่างในชื่อของมัน?


47

ฉันมีไดเรกทอรีชื่อ "Reader 0.5" ในเดสก์ท็อปของฉันบน Mac Os X เมื่อเข้าใช้งานไดเรกทอรีในเทอร์มินัลฉันใช้โค้ดด้านล่าง:

cd /Users/niho/Desktop/Reader 0.5

แต่มันจะพ่น:

ไม่พบไฟล์หรือโฟลเดอร์

ความผิดพลาด

ฉันจะซีดีลงในไดเรกทอรีนั้นได้อย่างไร

ขอบคุณ

macos  bash  shell 

คำตอบ:


64

ไม่ว่าคุณจะใส่เครื่องหมายคำพูดล้อมรอบชื่อไดเรกทอรี ( cd "/Users/niho/Desktop/Reader 0.5") หรือคุณหลีกเลี่ยงชื่อไดเรกทอรี ( /Users/niho/Desktop/Reader\ 0.5)


5
เพียงเพื่อความสมบูรณ์คุณยังสามารถตัดสินใจที่จะอ้างถึงเพียงบางส่วนของการโต้แย้งเช่นcd /Users/niho/Desktop/"Reader 0.5"หรือแม้กระทั่งcd /Users/niho/Desktop/Reader" "0.5
user123444555621

3
อันสุดท้าย (ราคามัด) เป็นของใหม่สำหรับฉัน ขอขอบคุณ!
joschi

ตอนนี้: คุณจะวางเส้นทางที่มีช่องว่างมัดไว้ใน env var ได้อย่างไร% cd $foo?
Bogatyr


4

ดังที่คนอื่น ๆ ได้กล่าวถึงการอ้างอิงเส้นทางหรือเครื่องหมายทับขวาการเว้นวรรคจะใช้งานได้

นอกจากทุบตีเปลือกเริ่มต้นบน Mac OS X รองรับการกรอกบรรทัดคำสั่งโดยใช้ปุ่ม Tab เช่นถ้าคุณพิมพ์:

cd /Users/niho/Desktop/Re

จากนั้นกดปุ่ม Tab เชลล์จะเติมส่วนที่เหลือของชื่อโฟลเดอร์ (ตราบเท่าที่ไม่มีโฟลเดอร์อื่น ๆ บนเดสก์ท็อปของคุณที่ขึ้นต้นด้วย "Re") และจะดูแลการอ้างอาร์กิวเมนต์ไปยัง cd หากมีช่องว่าง ในชื่อไดเรกทอรีมันเติมมา


4

ขั้นตอนการใช้แท็บในช็อตคัททางลัดจะแตกที่ช่องว่างแรกที่พบถ้าหลายไดเรกทอรีมีชื่อเหมือนกัน ในกรณีเช่นนี้ผู้ใช้จะต้องใช้:

cd Adobe\ Creative\ Cloud/

หรือสิ่งที่ฉันชอบ

cd 'Adobe Creative Cloud'

ทั้ง bash และ zsh ข้อความไม่ทำงานสำหรับฉัน: `` bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: ไม่มีไฟล์หรือไดเรกทอรี 3 => cd ~ / Library / 4 => pwd / ผู้ใช้ / pguruprasad / Library `` `
Prasanth

-1

นี่เป็นวิธีที่สะดวกสบายยิ่งขึ้นถ้าคุณต้องการใช้คำสั่ง cd กับบางไดเรกทอรีบ่อยขึ้น มันหลีกเลี่ยงการเขียนชื่อไดเรกทอรีทุกครั้ง

ใน. bashrc หรือ. profile ของคุณให้แทรก:

# activate cdable_vars
shopt -s cdable_vars

# define shortcut for your directory, here DIR
export DIR="/Users/<username>/path/to/your/dir"

รันสคริปต์ของคุณหนึ่งครั้ง: . .bashrc

จากนั้นคุณสามารถ cd ไปยังไดเรกทอรีของคุณเช่นนี้:

cd DIR

สิ่งนี้จะใช้ได้แม้ว่าเส้นทางจะมีช่องว่าง

ในเชลล์สคริปต์คุณต้องอ้างอิงตัวแปรดังนี้:

cd "$DIR"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.