จะตั้งค่าทางลัดไปยังไดเรกทอรีใน Mac OS X Terminal ได้อย่างไร?


18

สิ่งที่ฉันต้องการจะทำคือเมื่อฉันอยู่ใน Terminal คือการพิมพ์:

cd myFolderShortcut

และเพื่อให้ตรงไปยังไดเรกทอรีฉันมีการตั้งค่าด้วยนามแฝงนี้ เป็นไปได้ไหม

ฉันทำ google เพื่อมันและนามแฝงอาจเป็นสิ่งที่ฉันต้องการ แต่ฉันไม่สามารถใช้งานได้


หากสิ่งที่คุณต้องการคือคำสั่งสั้น cd'ing ลงในไดเรกทอรีเฉพาะสิ่งที่คุณต้องทำคือการเพิ่มต่อไปนี้เพื่อคุณ:~/.bashrc alias myalias='cd /path/to/directory'คุณสามารถแทนที่myaliasด้วยชื่อคำสั่งที่กำหนดเองใด ๆ ที่คุณต้องการ

ลองดูgithub.com/joelthelion/autojump/wikiมันอาจใช้ได้กับคุณเช่นกัน
Daniel Beck

คำตอบ:


36

คุณไม่ต้องการไฟล์ทางลัดหรืออะไรทำนองนั้น


คุณสามารถตั้งค่านามแฝงได้~/.bash_profileโดยเพิ่มบรรทัดต่อไปนี้ดังนั้นคุณต้องพิมพ์myFolderShortcutเพื่อไปที่นั่น (ไม่รวมcd):

alias myFolderShortcut='cd /Users/danielbeck/Documents'

คุณต้องพิมพ์คำสั่งด้านบนหรือ

source ~/.bash_profile

เพื่อให้สิ่งนี้มีผล สิ่งนี้ทำงานได้จากไดเรกทอรีใด ๆ แต่ต้องการให้เชลล์ล็อกอินของคุณเป็นbash(ซึ่งเป็นค่าเริ่มต้นของ OS X)


แน่นอนคุณสามารถสร้างลิงก์สัญลักษณ์ไปยังไดเรกทอรีอื่น ๆ ในไดเรกทอรีบ้านของคุณ จากนั้นเมื่อคุณเปิด Terminal และอยู่ในโฮมไดเรกทอรีของคุณcdไอเอ็นจีจะนำคุณไปยังไดเรกทอรีที่เชื่อมโยง

ln -s /Users/danielbeck/Documents/Projects myProjectsDir

จากนั้นพิมพ์cd myProjectsDirและคุณอยู่ที่นั่น (เส้นทางที่แสดงมีอยู่myProjectsDirแม้ว่าจะไม่ใช่Documents/Projects)

ลิงก์สัญลักษณ์จะแสดงใน Finder chflags hidden myProjectsDirจะซ่อนมันพิมพ์

สิ่งนี้จะใช้ได้เฉพาะเมื่อคุณอยู่ในโฮมไดเร็กตอรี่ของคุณเพื่อเริ่มต้นด้วย ( cdโดยไม่มีการโต้แย้งจะพาคุณไปที่นั่นอย่างรวดเร็ว; คุณสามารถพิมพ์ทั้งสองคำสั่งในบรรทัดเดียวกัน:) cd && cd myProjectsDir.


cdเป็นcd ~นามแฝงที่ชื่นชอบ
Rob

@Rob ไม่ใช่เทคนิคนามแฝง โดยไม่ต้องโต้แย้งเพียงหมายถึงcd ~ฉันชอบที่cd -ดีกว่าโดยวิธีการ
Daniel Beck

สวัสดีฉันไม่สามารถให้เทคนิคของคุณทำงานได้ ฉันต้องการสร้างทางลัดไปยังไดเรกทอรี solr ของฉัน ปัจจุบันอาศัยอยู่ใน: alias solr = 'cd / Applications / MAMP / htdocs / เว็บไซต์ / WhoAt / solr / whoat /' บางทีเส้นทางของฉันไม่ถูกต้อง?
Leon Gaban

@Leon คุณใช้bashเปลือกหรือไม่
Daniel Beck

ฉันคิดว่าฉันใช้ค่าเริ่มต้นผมคิดว่า ...
Leon Gaban

4

ฉันรู้ว่านี่เก่า แต่อาจช่วยใครซักคน

หลังจากคุณปฏิบัติตามคำตอบของ @Daniel Beck ด้านบนและเพิ่มชื่อแทนไปยัง bash_profile อย่างที่เขาพูดคุณต้องพิมพ์ข้อความต่อไปนี้ในหน้าต่างเทอร์มินัล:

source .bash_profile

นี่จะทำให้นามแฝงทั้งหมดของคุณใช้งานได้

ฉันได้รับสิ่งนี้จากคำตอบนี้เมื่อล้นสแต็ค มันได้ผลสำหรับฉัน ฉันหวังว่าจะได้ผลกับคนที่กำลังมองหาสิ่งนี้ ...

ฉันจะสร้างทางลัดเทอร์มินัลไปยังเส้นทางนี้ได้อย่างไร


2
ขอบคุณสิ่งนี้มีประโยชน์ นอกจากนี้ยังsource ~/.bash_profileอาจจะเป็นวิธีทั่วไปมากขึ้นของการเขียนมัน
mattsven

1

มีเพียงสิ่งเดียวที่ฉันต้องการเพิ่มเพราะมันเกิดขึ้นกับฉันและพาฉันออกไปเพื่อหาข้อผิดพลาด ฉันเขียน alias myFolderShortcut = 'cd /Users/danielbeck/Documents' เพราะฉันต้องการมีช่องว่างระหว่างเครื่องหมายเท่ากับของฉัน แต่มันทำให้ฉันมีข้อผิดพลาด

ดังนั้นหลังจากลบช่องว่างที่ใช้งานได้

ดังนั้นใช้

alias myFolderShortcut='cd /Users/danielbeck/Documents'

ฉันหวังว่านี่จะช่วยให้ใครบางคนในอนาคต


0

อีกวิธีหนึ่งคือการใช้ตัวแปรสภาพแวดล้อม CDPATH สิ่งนี้ใช้ได้กับcdคำสั่งที่ PATH ทำงานสำหรับการรันโปรแกรม - หากคุณพิมพ์cdคำสั่งด้วยพารามิเตอร์ที่ไม่ได้ขึ้นต้นด้วย/(หรือ~) เชลล์จะค้นหาไดเรกทอรีตามชื่อนั้นภายใต้ส่วนประกอบแต่ละส่วนของ CDPATH ตัวอย่างเช่นหากคุณต้องการเข้าถึงไดเรกทอรีดังต่อไปนี้อย่างรวดเร็ว:

  • /Users/benhowdle89/Documents/Projects/Project42
  • /Applications/MAMP/htdocs/website/WhoAt/solr/whoat
  • /the/quick/brown/fox/jumps/over/the/lazy/dog

จากนั้นตั้งค่า CDPATH เป็นค่าต่อไปนี้

:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/WhoAt/solr:/the/quick/brown/fox/jumps/over/the/lazy

และคุณจะสามารถที่จะใช้คำสั่งcd Project42, cd whoatและcd dogอื่น ๆ ค่าเริ่มต้นกับลำไส้ใหญ่ ( :) เพื่อให้เป็นไป ได้แก่ รายการ null เริ่มต้น ในเชลล์บางตัวนี่เป็นสิ่งจำเป็นในcdการค้นหาในไดเรกทอรีปัจจุบันก่อน

สิ่งนี้น่าจะใช้ได้กับเชลล์ชนิด POSIX ส่วนใหญ่ เช่นและbash kshสำหรับbashใส่คำสั่งเช่น

export CDPATH=:/Users/benhowdle89/Documents/Projects:/Applications/MAMP/htdocs/website/…

เข้าของคุณหรือ~/.bash_profile ~/.bashrc(หากคุณใช้~/.bashrcคุณอาจไม่สามารถออกจากexport.) สำหรับเชลล์ csh-type, การใช้งานcdpathและไวยากรณ์ของ csh-style ที่เหมาะสม

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