/etc/environment
นี้จะไม่ปรากฏที่จะเป็นไปได้ด้วย มันมีความหมายว่าเป็นสถานที่ทั่วไปสำหรับตัวแปรที่เชลล์เป็นอิสระ กำหนดให้นี้ดูเหมือนว่าจะไม่สนับสนุนสตริงที่มีเครื่องหมายแฮช ( #
) ในพวกเขาและดูเหมือนจะไม่มีทางหนีออกมาได้
ฉันพบคำถามและคำตอบของ SF นี้: มีวิธีใดที่จะหลีกเลี่ยงอักขระ“ #” ที่นำหน้าใน linux etc / environment อย่างไร . วิธีการเหล่านี้ไม่ทำงาน:
- ควบคุม = "สวัสดี"
- test0 = "# สวัสดี"
- test1 = "H \ #ello"
- test2 = "H # Ello"
- test3 = "// H # Ello"
- test4 = "H / # Ello"
- test5 = H # Ello
- TEST6 = H \ #ello
- TEST7 = H # Ello
- test8 = H // # Ello
- test9 = H / # Ello
- test10 = 'H # Ello'
- test11 = 'H \ #ello'
- test12 = 'H # Ello'
- test13 = 'เอช // # Ello'
- test14 = 'H / # Ello'
คำตอบที่ได้รับการยอมรับสำหรับคำถามนั้นและคำแนะนำของฉันคืออะไร:
มันเป็นเรื่องยุ่งยากที่คุณต้องการทำ/etc/environment
ไม่ใช่ไวยากรณ์ของเชลล์มันดูเหมือนหนึ่ง แต่ไม่ใช่ซึ่งทำให้ผู้คนไม่สบายใจ ความคิดที่อยู่เบื้องหลัง/etc/environment
นั้นยอดเยี่ยม วิธีที่ไม่ขึ้นกับเชลล์ในการตั้งค่าตัวแปร! เย้! แต่ข้อ จำกัด ในทางปฏิบัติทำให้ไร้ประโยชน์
คุณไม่สามารถส่งผ่านตัวแปรได้ ลองตัวอย่างใส่MAIL=$HOME/Maildir/
เข้าไปแล้วดูว่าเกิดอะไรขึ้น ดีที่สุดเพียงหยุดพยายามใช้เพื่อวัตถุประสงค์ใด ๆ ก็ตามอนิจจา ดังนั้นคุณไม่สามารถทำอะไรกับมันได้ซึ่งคุณคาดว่าจะสามารถทำได้ถ้ามันถูกประมวลผลโดยเชลล์
ใช้หรือ/etc/profile
/etc/bashrc
ยังมีอีกคำถามที่ให้เหตุผลนี้ว่าทำไมในกรณีนี้:
ไม่มีทางที่/etc/environment
จะหลบหนี # (ซึ่งถือว่าเป็นความคิดเห็น) เนื่องจากกำลังถูกแจงโดยโมดูล PAM "pam_env" และถือว่าเป็นรายการคู่ที่ง่ายของ KEY = VAL และตั้งค่าสภาพแวดล้อมตามลำดับ มันไม่ได้เป็น bash / shell, parser ไม่มีภาษาสำหรับการขยายหรือแปรผันของอักขระ
อ้างอิง
/etc/environment
? เพราะฉันไม่สามารถทำซ้ำพฤติกรรมนี้กับ Debian Wheezy