ฉันใช้ iTerm ใน Mac OS X 10.6 ดูเหมือนว่าเมื่อเปิด iTerm ทั้ง.bashrc
มิได้.bash_profile
มีที่มา ฉันบอกได้เพราะ.bashrc
ไม่ได้ตั้งชื่อแทนไว้ จะแก้ไขอย่างไร
ฉันใช้ iTerm ใน Mac OS X 10.6 ดูเหมือนว่าเมื่อเปิด iTerm ทั้ง.bashrc
มิได้.bash_profile
มีที่มา ฉันบอกได้เพราะ.bashrc
ไม่ได้ตั้งชื่อแทนไว้ จะแก้ไขอย่างไร
คำตอบ:
Bash จะมา EITHER .bash_profile หรือ. bashrc ขึ้นอยู่กับว่ามันถูกเรียก หากเป็นเชลล์การเข้าสู่ระบบ Bash จะค้นหา ~ / .bash_profile, ~ / .bash_login หรือ ~ / .profile ตามลำดับและแหล่งแรกที่พบ (และที่หนึ่งเท่านั้น) หากไม่ใช่เชลล์ล็อกอิน แต่เป็นแบบโต้ตอบ (เช่นเซสชันเทอร์มินัลส่วนใหญ่) Bash จะมา ~ / .bashrc
ดูเหมือนว่า iTerm จะมองหา ~ / .bashrc หากได้รับการกำหนดค่าให้เริ่มต้นเป็นเชลล์การเข้าสู่ระบบเชลล์จะค้นหา ~ / .bash_profile มันเกือบจะเป็นข้อผิดพลาดในไฟล์ปรับแต่งมากกว่าที่เชลล์จะไม่ได้หามัน
ฉันจะใส่บรรทัดที่จุดเริ่มต้นของแต่ละไฟล์ ที่ด้านบนของ ~ / .bash_profile:
export BASH_CONF="bash_profile"
และที่ด้านบนของ ~ / .bashrc:
export BASH_CONF="bashrc"
จากนั้นเปิด iTerm ใหม่แล้วพิมพ์
$ echo $BASH_CONF
ควรยืนยันว่าไฟล์นั้นมีแหล่งที่มาและคุณสามารถตรวจสอบไวยากรณ์ของไฟล์ได้
ใน iTerm2 ไม่มีวิธีแก้ปัญหาใดที่เหมาะกับฉัน ฉันสามารถอ่านไฟล์. bashrc ของฉันได้อย่างถูกต้องโดยการเพิ่มคำสั่ง
source ~/.bashrc
ไปที่ฟิลด์ส่งข้อความเมื่อเริ่มต้น:ในการตั้งค่า / ทั่วไปสำหรับโปรไฟล์ iTerm ของฉัน
~/.bashrc
ข้อมูลที่สองก็ควรที่จะเข้าไป แก้ไขมัน
ฉันแค่สงสัยว่าคุณใช้ Bash จริงๆเหรอ? คุณอาจจะสามารถใช้echo $SHELL
มันค่อนข้างเป็นไปได้ว่าคุณกำลังใช้zshคุณได้ติดตั้งบน-zh ของฉัน ?
ฉันพบปัญหาเดียวกันกับคุณฉันแก้ไขมันด้วยการกำหนดค่า~ / .zshrcแทน~ / .bash_profileสำหรับ login shell หรือ~ / .bashrcสำหรับ non-login shell
บางทีคุณสามารถลอง
บนเครื่อง 10.6 ของฉัน~/.profile
มีที่มา ดังนั้นsource .bashrc
รายการใน~/.profile
ควรทำงาน
แก้ไขได้ง่าย
1.เปิด~/.zshrc
ไฟล์ของคุณ
2.เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์
source ~/.bash_profile
ในเครื่อง 10.9 ของฉัน ~ / .bash_profile มีที่มา ดังนั้นรายการ. bashrc ต้นทางใน ~ / .bash_profile ควรทำงาน
ใส่คำจำกัดความนามแฝงของคุณในไฟล์โปรไฟล์ bash คุณต้องสร้างไฟล์ แต่มันจะถูกจัดทำโดยอัตโนมัติ ฉันสร้างไฟล์แยกต่างหากชื่อ alias.configuration และแหล่งที่มาใน. bash_profile เพียงเพราะฉันมีผู้ใช้คนอื่นกำหนดไว้และต้องการให้มีนามแฝงชุดเดียวกัน
.bashrc
มิได้.bash_profile
มีที่มา
เพิ่ม
set -x
/etc/profile
จุดเริ่มต้นของ นี้จะช่วยให้คุณมีบัญชีบรรทัดโดยบรรทัดของทุกอย่างที่ได้รับการดำเนินการเมื่อbash
เริ่มต้นขึ้นรวมถึงไฟล์ที่มาจากภายใน/etc/profile
, ~/.bash_profile
ฯลฯ มันเป็นบิตที่น่ากลัวถ้าคุณไม่เข้าใจbash
การเขียนสคริปต์ดีมาก แต่คุณอาจจะสามารถที่จะดูว่า มีข้อผิดพลาดในไฟล์เริ่มต้นและผลลัพธ์จะมีประโยชน์สำหรับบางคนที่เชี่ยวชาญในbash
การช่วยคุณค้นหาปัญหาของคุณ
คุณสามารถลบset -x
บรรทัดได้เมื่อแก้ไขปัญหาเสร็จแล้ว
วันที่ 10.10 และ iTerm2 2.0 โปรไฟล์ที่กำหนดเอง
ใน iTerm2 ตรวจสอบให้แน่ใจว่าคุณใช้ "login shell" แทนคำสั่งกำหนดเองรวมถึง "login" ซึ่งไม่ได้ทำตามที่คุณคาดหวัง
ทำการเปลี่ยนแปลงต่อไปนี้และ iTerm จะทำการ bashrc
iTerm> ค่ากำหนด> ทั่วไป> [x] คำสั่ง: / bin / bash
ปัญหาสามารถแก้ไขได้โดยการเพิ่มบรรทัดด้านล่างลงใน / etc / bashrc
[-r "$ HOME / .bashrc"] && "$ HOME / .bashrc"
ฉันรวมวิธีแก้ปัญหาคู่เข้าด้วยกันเพื่อทำงานอย่างที่คาด
.bash_profile
แหล่งที่มาและเรียกใช้บน zsh
Preferences -> Profiles -> General
.
เลือกคำสั่งภายใต้คำสั่ง และเพิ่มในกล่องข้อความ
/bin/bash --login
จากนั้นใน. bash_profile เพิ่มบรรทัด
/bin/zsh --login
แค่นั้นแหละ.
bash
วิ่งตลอดเวลาzsh
นั่นไม่ใช่สิ่งที่ทุกคนคาดหวัง
source ~/.bash_profile
ด้วยตนเอง @Scott หลังจากทำสิ่งต่าง ๆ ข้างต้นฉันมี zsh ในวิธีที่ต้องการ
zsh
อาจจะมีสิ่งที่คุณต้องการ ,แต่มันก็ไม่จำเป็นต้องใช้หรือถามด้วยคำถามนี้ซึ่งแท็ก [ทุบตี] zsh
และไม่ได้พูดอะไรเกี่ยวกับ (2) หากคุณกำหนดฟังก์ชันนามแฝงและเชลล์และตั้งค่าตัวแปร (โดยไม่ส่งออก) ในของคุณ.bashrc
และ / หรือ.bash_profile
พวกเขามีให้ในzsh
เชลล์หรือไม่?
~/.bash_profile
~/.bashrc
ปัญหานี้สามารถเกิดขึ้นได้โดยไม่คาดคิดถ้าโปรแกรมโกงเพิ่มคำแนะนำบางอย่างเพื่อให้คุณเมื่อก่อนหน้านี้ไฟล์ไม่ได้อยู่และคุณได้วางทุกทุบตีของคุณในคำสั่ง~/.bash_profile
~/.bashrc
วิธีแก้ไขคือลบ ~ / .bash_profile ของคุณหรือมี ~ / .bash_profile แหล่งที่มาของคุณ ~ / .bashrc สิ่งนี้สามารถทำได้โดยการเพิ่มคำสั่ง:source ~/.bashrc
ที่ส่วนท้ายของคุณ~/.bash_profile
และรีสตาร์ทเครื่อง