ความสมบูรณ์ของคำสั่งสำหรับ `cd` สามารถปรับเปลี่ยนเพื่อแสดงเฉพาะไดเรกทอรีและละเว้นไฟล์ได้หรือไม่


12

เมื่อฉันอยู่ในไดเรกทอรีในทุบตีและฉันกดcd Space Tabมันจะแสดงทุกอย่างในไดเรกทอรีเป็นไปได้ ( Show all 1000 possibilities?) นี่มันยุ่งยากจริงๆเมื่อฉันอยู่ในไดเรกทอรีที่มีไฟล์ปกติจำนวนมากและมีไดเรกทอรีค่อนข้างน้อย

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

ฉันรู้ว่าฉันจะได้รับรายชื่อไดเรกทอรีภายในไดเรกทอรีโดยทำ

ls -d */

แต่ฉันไม่แน่ใจว่าจะดำเนินการต่อจากที่นั่นได้อย่างไร

ฉันใช้CentOS 6.6 รอบชิงชนะเลิศ

คำตอบ:


25

เพียงเพิ่ม

complete -d cd

ใน~/.bashrc(หรือไฟล์กำหนดค่า bash อื่น ๆ )


มันได้ผล! ขอบคุณ ฉันต้องพิมพ์bashใหม่เพื่อโหลด~/.bashrcไฟล์ของฉันอีกครั้ง
chiliNUT

นั่นดูน่าสนใจ. นี่เป็นพฤติกรรมเริ่มต้นในการติดตั้ง Debian ของฉัน แต่การพิมพ์completeไม่แสดงขึ้น-d cdหรือสิ่งใด ๆ เห็นได้ชัดว่ามันถูกทำในวิธีอื่นที่นี่
Tom Zych

@TomZych มีสคริปต์เสร็จสิ้นการทุบตีที่เป็นที่นิยมเป็นไปได้มากว่า distro ของคุณจะติดตั้งเป็นค่าเริ่มต้น
jimmij

2
อีกครั้งอ่านประเภท~/.bashrc . ~/.bashrcสิ่งนี้อาจจะไม่เริ่มต้นเชลล์ย่อย
ctrl-alt-delor

1
@richard One ยังสามารถพิมพ์ / วางคำสั่งนี้ในเชลล์เชิงโต้ตอบปัจจุบันได้อีกครั้ง
jimmij

2

นี้ควรจะเกิดขึ้นโดยอัตโนมัติในแบบฉบับติดตั้งบน distros หลาย
ถ้าไม่ใช่คุณอาจขาดbash-completionแพ็คเกจ:

  • อูบุนตู: sudo apt-get install bash-completion
  • โค้ง: sudo pacman -S bash-completion
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.