ฉันจะให้เชลล์ของฉันเริ่มต้นในไดเรกทอรีบางอย่างที่ไม่ใช่โฮมไดเร็กตอรี่ของฉันได้อย่างไร


20

ฉันลองใส่แล้ว

cd /Users/my_name/my_directory/structure

ทั้ง.bashrcและ.bash_loginแต่ไม่ทำงานเช่นเมื่อฉันเปิดหน้าต่างเทอร์มินัลใหม่ฉันอยู่ในไดเรกทอรี home (/ Users / my_name /)

ไม่มีข้อความแสดงข้อผิดพลาดเพียง แต่ไม่ได้ใส่แผ่นซีดีลงในไดเรกทอรีตามที่หวังไว้เมื่อเริ่มต้นหน้าต่างเทอร์มินัลใหม่

คำตอบ:


5

ดังที่ Gerry กล่าวไว้.bashrcจะไม่ถูกอ่านโดยล็อกอินเชลล์ แท็บใหม่จะเข้าสู่ระบบเปลือกหอยโดยเริ่มต้นใน Terminal และ iTerm 2. เป็นเพียงการอ่านถ้าไม่มี.bash_login.bash_profile

นอกจากนี้คุณยังสามารถเพิ่มคำสั่งcd.bash_profile


38

ก่อนอื่นถ้าคุณไม่ได้ใช้ iTerm2 อยู่แล้วฉันขอแนะนำให้คุณดาวน์โหลดซอฟต์แวร์ฟรีนี้เพื่อใช้แทน Terminal.app

ในคุณสมบัติพิเศษอื่น ๆ อีกมากมายในการตั้งค่า iTerm คุณสามารถกำหนดค่าไดเรกทอรีการทำงานเริ่มต้นสำหรับเชลล์ใหม่ คุณจะพบการตั้งค่าเหล่านี้ในโปรไฟล์ - ทั่วไป

ไดเรกทอรีการทำงานเริ่มต้นของ iTerm

ข้อดีที่นี่คือคุณสามารถตั้งค่าลักษณะการทำงานที่แตกต่างกันสำหรับการเปิดหน้าต่างใหม่เทียบกับการเปิดแท็บใหม่หรือแม้กระทั่งการสร้างบานหน้าต่างแยกใหม่ ฉันชอบอยู่ในไดเรกทอรีการทำงานปัจจุบันเมื่อเพิ่มบานหน้าต่างแยกตัวอย่างเช่น

คุณสามารถทำได้ในสคริปต์เริ่มต้นของคุณเช่นกัน (แม้ว่าฉันจะพบว่าน้ำยาล้าง iTerm หรืออย่างน้อยก็มีความยืดหยุ่นมากกว่า) แต่ฉันแนะนำให้คุณใช้~/.bash_profileแทน

~/.bashrcจะไม่ได้มาโดยอัตโนมัติเมื่อเปิดหน้าต่างเปลือกใหม่และ~/.bash_loginมีที่มาเฉพาะในกรณีที่ไม่~/.bash_profileเป็นปัจจุบัน


1
ฉันมักจะหาแหล่ง. bashrc จาก. bash_profile ของฉันดังนั้นฉันจึงไม่จำเป็นต้องจำสิ่งที่ถูกเรียกจากที่ใด
Cajunluke

@CajunLuke ฉันทำบางสิ่งบางอย่างที่ค่อนข้างคล้ายกัน: github.com/gerryvdm/dotfiles
Gerry

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