มีตัวเลือกเชลล์cdable_vars:
cdable_vars
หากตั้งค่านี้อาร์กิวเมนต์ของcdคำสั่ง builtin ที่ไม่ใช่ไดเร็กทอรีจะถือว่าเป็นชื่อของตัวแปรที่มีค่าเป็นไดเร็กทอรีที่จะเปลี่ยน
คุณสามารถเพิ่มสิ่งนี้ใน.bashrc:
shopt -s cdable_vars
export myFold=$HOME/Files/Scripts/Main
สังเกตว่าฉันแทนที่เครื่องหมายตัวหนอนด้วย$HOME; ~/Files/Scripts/Mainคำพูดที่ป้องกันไม่ให้เกิดการขยายตัวและตัวหนอนทุบตีจะบ่นว่ามีไดเรกทอรีไม่มี
ตอนนี้คุณสามารถใช้สิ่งนี้ได้ดังนี้:
cd myFold
ไม่$จำเป็น นั่นคือจุดรวม - ตามที่แสดงในคำตอบอื่น ๆcd "$myFold"ทำงานได้โดยไม่มีตัวเลือกเชลล์ cd myFoldยังใช้งานได้หากเส้นทางในmyFoldมีช่องว่างไม่จำเป็นต้องมีการอ้างอิง
โดยปกติจะใช้งานได้กับการเติมแท็บอัตโนมัติเนื่องจาก_cdฟังก์ชันในการbash_completionตรวจสอบว่าcdable_varsตั้งค่าไว้หรือไม่ แต่ไม่ใช่ทุกการใช้งานจะทำในลักษณะเดียวกันดังนั้นคุณอาจต้องกำหนดแหล่งที่มาbash_completionอีกครั้งในของคุณ.bashrc(หรือแก้ไข/etc/profileเพื่อตั้งค่าตัวเลือกเชลล์)
กระสุนอื่น ๆ มีตัวเลือกที่คล้ายกันตัวอย่างเช่น Zsh ( cdablevars)