ฉันมี.bashrc
ไฟล์หนึ่งบรรทัดในโฮมไดเร็กตอรี่ของฉัน:
alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'
แต่มันไม่ได้สร้างนามแฝง ทำไมจึงเป็นเช่นนั้น
ฉันมี.bashrc
ไฟล์หนึ่งบรรทัดในโฮมไดเร็กตอรี่ของฉัน:
alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'
แต่มันไม่ได้สร้างนามแฝง ทำไมจึงเป็นเช่นนั้น
คำตอบ:
ใน OSX, ใช้แทน.bash_profile
.bashrc
และใช่.bash_profile
ไฟล์ควรอยู่ใน/Users/YourName/
(กล่าวอีกนัยหนึ่ง~/.bash_profile
)
ตัวอย่างเช่น, /Users/Aaron/.bash_profile
source ~/.bashrc
.[bash_]profile
และ.bashrc
สามารถใช้ได้ทั้งบน OS X และ Linux อดีตถูกโหลดเมื่อเชลล์เป็นล็อกอินเชลล์ หลังเมื่อมันไม่ ความแตกต่างที่แท้จริงคือลีนุกซ์รันเชลล์ล็อกอินเมื่อผู้ใช้ล็อกอินเข้าสู่เซสชันกราฟิกจากนั้นเมื่อคุณเปิดแอปพลิเคชันเทอร์มินัลเชลล์เหล่านั้นคือเชลล์ที่ไม่ใช่ล็อกอิน ในขณะที่ OS X ไม่ได้เรียกใช้เชลล์เมื่อเข้าสู่ระบบแบบกราฟิกและเมื่อคุณเรียกใช้เชลล์จาก Terminal.app นั่นคือล็อกอินเชลล์
หากคุณต้องการให้นามแฝงของคุณทำงานทั้งในเชลล์สำหรับเข้าสู่ระบบและที่ไม่ได้ลงชื่อเข้าใช้ (และโดยปกติคุณจะทำ) คุณควรใส่ไว้ใน. bashrc และ source .bashrc ใน. bash_profile ของคุณโดยมีบรรทัดดังนี้:
[ -r ~/.bashrc ] && source ~/.bashrc
สิ่งนี้ใช้ได้กับทุกระบบที่ใช้ bash
PATH=$PATH:/my/private/binaries
จะนำไปสู่ PATH bloat ดูสิ่งนี้สำหรับวิธีแก้ปัญหา
.profile
.bashrc
.profile_
... ?
หรือสร้างลิงค์ sym ที่เรียกว่า. bash_profile ชี้ไปที่. bashrc ของคุณ
ln -s .bashrc .bash_profile
มันไม่ได้เป็นนามแฝงเพราะ.bash_profile
ใช้แทน.bashrc
ใน Mac OS X
ดังนั้นคุณมีสองทางเลือก:
ใส่นามแฝงในของคุณ ~/.bash_profile
หรือแหล่งที่มาของคุณ.bashrc
จากของคุณ.bash_profile
โดยเพิ่มบรรทัดนี้ไปที่.bash_profile
:
. ~/.bashrc
บนMac OS X Yosemiteให้เรียกใช้คำสั่งต่อไปนี้:
vi ~/.profile
จากนั้นเพิ่มบรรทัดต่อไปนี้:
source ~/.bashrc
ตอนนี้บันทึกและปิด.profile
จากนั้นเปิดหน้าต่าง Terminal ใหม่หรือเพียงแค่เรียกใช้:
source ~/.profile
ดูคำตอบนี้ด้วย มันทำงานกับ v10.10.3