ซ้ำเป็นไปได้:
ความแตกต่างระหว่าง. bashrc และ. bash_profile
อะไรคือความแตกต่างระหว่าง.profile
และ.bash_profile
และคุณกำหนดค่าเมื่อใด
คือถ้าฉันกำหนดค่า.bash_profile
ฉันยังต้องกำหนดค่า.profile
หรือไม่
ซ้ำเป็นไปได้:
ความแตกต่างระหว่าง. bashrc และ. bash_profile
อะไรคือความแตกต่างระหว่าง.profile
และ.bash_profile
และคุณกำหนดค่าเมื่อใด
คือถ้าฉันกำหนดค่า.bash_profile
ฉันยังต้องกำหนดค่า.profile
หรือไม่
คำตอบ:
สมมติว่าbash
เป็นเชลล์เริ่มต้นของคุณความแตกต่างได้อธิบายไว้ในbash
man 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
:(