ตกลงดังนั้นsourceรันสคริปต์ในเชลล์ปัจจุบันและ.แยกกันตามรายละเอียดในการรันสคริปต์ด้วย "." และด้วย "source"ตัวอย่างเช่น แต่โดยเฉพาะใน.bashrcไฟล์ของฉันฉันมี:
[ -f ~/.bash_aliases ] && source ~/.bash_aliases
[ -f ~/.git-completion.bash ] && source ~/.git-completion.bash
[ -s ~/.autojump/etc/profile.d/autojump.sh ] && source ~/.autojump/etc/profile.d/autojump.sh
ฉันสามารถแทนที่ด้วย:
[ -f ~/.bash_aliases ] && . ~/.bash_aliases
[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash
[ -s ~/.autojump/etc/profile.d/autojump.sh ] && . ~/.autojump/etc/profile.d/autojump.sh
จะใช้งานได้กับ OS X - เป็นปัญหา "POSIX" หรือไม่
ฉันลองแล้วข้างต้นก็ยังดูเหมือนว่าจะทำงานบน Ubuntu (ดังนั้นพวกเขาจึงทำงานได้ทั้งจริงsourceและ.นั่นคือพวกเขาให้ฉันฟังก์ชั่นที่ต้องการในเปลือก) ฉันควรจะเลือกอย่างใดอย่างหนึ่งมากกว่าที่อื่นหรือฉันหายไปบางสิ่งบางอย่าง?
FWIW, บน OS X ฉันมาฉันจากฉัน.bashrc.bash_profile
sourceเรียกใช้สคริปต์ในเชลล์ปัจจุบันและ.แยกกัน"? พวกเขาทั้งคู่รันมันในเชลล์ปัจจุบัน; มิฉะนั้นจะไม่มีประเด็น