/ etc / profile vs ~ / .profile


13

ฉันรัน Ubuntu 12.04.1 LTS และฉันไม่สามารถรับลำดับความสำคัญสำหรับการโหลดไฟล์โปรไฟล์ได้ เมื่อฉันเริ่มระบบและเข้าสู่ระบบโดยใช้ GUI ไฟล์ใดที่ถูกโหลด? และทำไม? เกิดอะไรขึ้นถ้าเรียกใช้ login-shell มันจะเหมือนกันหรือไม่ ที่จริงตอนนี้ฉันไม่สามารถรับได้ว่าทำไมฉัน~/.profileไม่โหลดเมื่อระบบเริ่มทำงานเพราะฉันเห็นว่ามันควรจะ:

https://help.ubuntu.com/community/EnvironmentVariables


คุณจะทดสอบว่าโหลด ~ / .profile อย่างไร
Andrea Corbellini

มีตัวแปรสภาวะแวดล้อมถูกอัพเดตใน ~ /
.profile

คำตอบ:


3

คุณอาจกำหนดตัวแปรในทุกไฟล์:

ORDER=${ORDER}+"/etc/profile"

ตามลำดับ

ORDER=${ORDER}+"~/.profile"

และดำเนินการ

echo ${ORDER}

เพื่อดูว่ามีส่วนเกี่ยวข้องและลำดับใด แน่นอนมันจะไม่บอกคุณหากมีสคริปต์ที่แตกต่างกันคุณพลาด

ดังนั้นหากคุณเห็นแหล่งข้อมูลหนึ่งที่กล่าวถึงให้อ่านสคริปต์นั้นเพื่อดูว่ามีแหล่งหนึ่งที่มาจากแหล่งอื่นหรือไม่และรวมไว้ด้วย

/etc/bash.bashrc และ ~ / .bashrc และ ~ / .bash_login มาพร้อมกับสิ่งต่าง ๆ จาก / etc / default


อืม $ ORDER ว่างเปล่าซึ่งหมายความว่าไม่ได้โหลดรายการใดเลย
sunprophit

ไม่แน่ใจว่าทำไม $ ORDER ถึงว่างเปล่าอาจเป็นเพราะข้อผิดพลาดทางไวยากรณ์ ฉันไม่รู้อะไรมากมายเกี่ยวกับเส้นประและทุบตีความแตกต่าง แม้ว่าฉันจะทำเครื่องหมายว่าคุณตอบว่าถูกต้องเพราะช่วยให้ได้รับปัญหา
sunprophit

7

ทุกอย่างขึ้นอยู่กับผู้ใช้ที่คุณพยายามเข้าสู่ระบบ/etc/profileไฟล์ทั่วโลกจะถูกโหลดสำหรับผู้ใช้ทุกคนในขณะที่~/.profileมีการโหลดเฉพาะสำหรับผู้ใช้

~ชี้ไปที่ไดเรกทอรีบ้านของผู้ใช้ปัจจุบัน ดังนั้นถ้าคุณจะใส่มัน/home/user-a/.profileและเข้าสู่ระบบในขณะที่user-aทั้งโลกและไฟล์เฉพาะของผู้ใช้จะถูกโหลด (ตามลำดับที่) ในขณะที่ถ้าคุณจะเข้าสู่ระบบเป็นuser-bโดยไม่ต้อง.profileไฟล์มันจะโหลดได้ทั่วโลก


ในโปรไฟล์ผู้ใช้ปัจจุบัน (~ / .profile) มีส่วนที่ควรปรับปรุงตัวแปรสภาพแวดล้อม ฉันหมายความว่ามันไม่ได้อยู่ในโปรไฟล์อื่น เป็นโปรไฟล์ของผู้ใช้รายนี้ แต่ฉันลองใช้ @user_unknown solution เพื่อทดสอบการโหลดโปรไฟล์และดูเหมือนว่าไม่ได้โหลดเลย
sunprophit

0

ควรโหลดทั้งคู่และ ~ / .profile ควรโหลดล่าสุด (หมายถึงมีลำดับความสำคัญ)


ถ้าอย่างนั้นฉันก็ไม่แน่ใจว่าเกิดอะไรขึ้น ถ้าฉันรันมันอย่างชัดเจนใน terminal มันโหลด อาจมีปัญหาระหว่างการเข้าสู่ระบบและในผล ~ / .profile ไม่โหลด แต่จากนั้นใน terminal ไม่มีปัญหาเหล่านี้ ฉันสามารถตรวจสอบว่าระบบพยายามโหลดหรือไม่
sunprophit

0

มันเป็นความผิดของฉัน มี [[some_test]] ใน ~ / .profile ของฉันและทำงานได้ดีในการทุบตี แต่ฉันเดาว่า dash ทำงานคำสั่ง pre_session_creation / post_session_creation บางคำสั่งเมื่อเริ่มเซสชันและไม่ทราบ [[คำหลัก ดังนั้นทุกอย่างถูกโหลด แต่หยุดข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.