ตัวแปรสภาพแวดล้อม - ลินุกซ์จัดเก็บไว้ที่ไหนฉันจะเปลี่ยนได้อย่างไรและปลอดภัยไหม?


13

ฉันพยายามกำหนดค่า build จากซอร์สโค้ด gcc เวอร์ชันเก่าบนเครื่อง dev ของฉัน เอกสารประกอบเน้นตัวแปรสภาพแวดล้อมหลายอย่างที่จำเป็นต้องเปลี่ยนแปลงเพื่อทำสิ่งนี้ ฉันสงสัยว่าจะต้องทำอย่างไรและที่ใดที่ linux เก็บไว้และหากจำเป็นต้องรีสตาร์ทระบบเพื่อให้การเปลี่ยนแปลงใด ๆ


คุณสามารถแสดงรายการตัวแปรสภาพแวดล้อมที่จำเป็นต้องเปลี่ยนแปลงได้หรือไม่?
Hashken

คำตอบ:


14

ทั่วโลก/etc/environmentตัวแปรสภาพแวดล้อมของระบบของคุณจะถูกเก็บไว้ใน
การเปลี่ยนแปลงใด ๆ ที่นี่จะได้รับการสะท้อนไปทั่วทั้งระบบและจะส่งผลกระทบต่อผู้ใช้ทั้งหมดของระบบ นอกจากนี้คุณต้องมีการรีบูตเพื่อให้การเปลี่ยนแปลงใด ๆ ที่นี่มีผล

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

แก้ไข : หากคุณไม่ต้องการรีบูตหรือรีสตาร์ทเครื่องคุณสามารถใช้ประโยชน์จากคำสั่ง source
เช่น. source /etc/environmentหรือsource .bashrc


4
คุณไม่จำเป็นต้องรีบูต คุณสามารถใช้คำสั่งแหล่งที่มาเพื่อโหลดตัวแปรหลังจากการเปลี่ยนแปลง ตัวอย่าง: source / etc / environment หรือ source .bashrc
Manula Waidyanatha

สำหรับสิ่งที่คุณพยายามจะเปลี่ยนแปลง .profileไม่ใช่สิ่งที่ถูกต้อง .bashrcไม่ควรใช้เนื่องจากอาจเกิดปัญหาได้ และ/etc/environmentเป็นวิธีการออก (ไม่เปลี่ยนระบบการทำงานเดียว)
ctrl-alt-delor

2

สิ่งที่คุณต้องการคือการเปลี่ยนแปลงทางโลก คุณจะไม่ต้องการพวกเขาในวันพรุ่งนี้เมื่อคุณทำอย่างอื่นมันอาจทำลายสิ่งที่คุณทำในวันพรุ่งนี้ อย่างไรก็ตามคุณสามารถบันทึกเป็น build-script / makefile เพื่อใช้ในวันพรุ่งนี้

export VARIABLE=value
export VARIABLE2=another_value
gcc …

หรือ

VARIABLE=value VARIABLE2=another_value gcc …

หมายเหตุ: หากใช้makeตัวอย่างแรกจะไม่ทำงาน ทำให้เริ่มเปลือกใหม่ (ดวลจุดโทษ) สำหรับแต่ละบรรทัด


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