ซ้ำเป็นไปได้:
ความแตกต่างระหว่าง. bashrc และ. bash_profile
อะไรคือความแตกต่างระหว่าง.profileและ.bash_profileและคุณกำหนดค่าเมื่อใด
คือถ้าฉันกำหนดค่า.bash_profileฉันยังต้องกำหนดค่า.profileหรือไม่
ซ้ำเป็นไปได้:
ความแตกต่างระหว่าง. bashrc และ. bash_profile
อะไรคือความแตกต่างระหว่าง.profileและ.bash_profileและคุณกำหนดค่าเมื่อใด
คือถ้าฉันกำหนดค่า.bash_profileฉันยังต้องกำหนดค่า.profileหรือไม่
คำตอบ:
สมมติว่าbashเป็นเชลล์เริ่มต้นของคุณความแตกต่างได้อธิบายไว้ในbashman page ( man bash):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
มีรายละเอียดเพิ่มเติมใน man page ที่ครอบคลุมโหมดความเข้ากันได้ของ POSIX-shell ซึ่ง.profileมาจากไหน อ่านส่วน man page ทั้งหมดสำหรับรายละเอียดทั้งหมด
ถ้าคุณกำหนดค่าคุณจะไม่จำเป็นต้องกำหนดค่า.bash_profile.profile
ฉันชอบที่จะรักษานามแฝงและคำสั่งของตัวเอง.profileเพื่อที่ว่าถ้าฉันทำอะไรผิดฉันรู้ว่าฉันสามารถลบสิ่งนี้.profileโดยไม่ส่งผลกระทบต่อระบบในแอพพลิเคชั่นขนาดใหญ่หรืออื่น ๆ ที่ปรับเปลี่ยน.bash_profile(เช่น MacPorts)
ในการใช้ a .profileคุณอาจต้องรวมบรรทัดsource ~/.profileในไฟล์ของคุณ.bash_profileเพื่อให้.profileอ่านได้ (ดูคำตอบของ Ned Deily)
.profile จะถูกดำเนินการโดย bash เมื่อคุณได้รับกระบวนการเชลล์ปกติ - เช่นคุณเปิดเครื่องมือเทอร์มินัล .bash_profile ถูกดำเนินการโดย bash สำหรับเชลล์ล็อกอิน - ดังนั้นนี่คือเมื่อคุณ telnet / ssh เข้าไปในเครื่องของคุณจากระยะไกล ตัวอย่างเช่นหากคุณอยู่ในเครื่องจากระยะไกล (สมมติว่าคุณเปิด X Terminal) คุณจะได้รับการเรียกใช้. bash_profile ในขั้นต้น หากใน XTerminal นั้นให้คุณพิมพ์ "xterm" และวางไข่อีก X Terminal จากนั้นโปรไฟล์จะถูกดำเนินการสำหรับอินสแตนซ์ที่สองของ XTerminal ไฟล์อยู่ในโฮมไดเร็กตอรี่ของคุณ (~). หากฉันไม่ผิดพลาดโดยค่าเริ่มต้นพวกเขาทั้งคู่จะเรียกใช้งาน ~ / .bashrc เพื่อให้คุณสามารถแก้ไขการตั้งค่า / ตัวแปรทั่วไปสำหรับทั้งการเข้าสู่ระบบและไม่ใช่การเข้าสู่ระบบเชลล์ (เช่นการตั้งค่า PATH, นามแฝง / ทางลัด ฯลฯ )
.profile?
สำหรับการกำหนดค่าที่รวดเร็วและง่ายดาย (ที่คุณไม่ต้องการให้สิ่งที่ซับซ้อน) เพียงกำหนดค่าทุกอย่างใน ~ / .profile ของคุณ เมื่อคุณพบปัญหาบางอย่าง (แต่อาจจะไม่เกิดขึ้น) เรียนรู้เพิ่มเติมเกี่ยวกับ. bash_login หรือ. bash_profile;)
ฉันใช้ OS X ด้วยและไม่จำเป็นต้องใช้. bash_profile หรือ. bash_login และใช้เฉพาะ. profile แต่ระยะทางของคุณอาจแตกต่างกันไป ...
.profileเท่านั้น.bashrc:(