ตัวแปรสภาพแวดล้อมใน Linux สามารถใช้เพื่อส่งข้อมูลหรือมีอิทธิพลต่อพฤติกรรมของแอปพลิเคชันหรือกระบวนการ บทความนี้จะอธิบายวิธีต่างๆ ในการตั้งค่าตัวแปรสภาพแวดล้อมและวิธีใช้งาน
ในการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเชลล์ที่ใช้งานอยู่ในปัจจุบัน ให้กำหนดตัวแปรในรูปแบบต่อไปนี้:
$มีวาร์=xyz
คำจำกัดความอธิบายได้ด้วยตนเอง MYVAR เป็นชื่อตัวแปรในขณะที่ xyz เป็นค่าของมัน การรันคำสั่งด้านล่างจะตรวจสอบว่าตัวแปรสภาพแวดล้อมได้รับการตั้งค่าอย่างถูกต้องหรือไม่:
$โยนออก $MYVAR
สังเกตไวยากรณ์ของตัวแปรสภาพแวดล้อม แม้ว่าจะทำงานเหมือนกับตัวแปรเชลล์อื่นๆ แต่โดยทั่วไปแล้ว แนวปฏิบัติที่ดีในการใช้อักษรตัวพิมพ์ใหญ่และขีดล่างสำหรับด้านซ้ายมือ (ชื่อตัวแปร)
หากต้องการยกเลิกการตั้งค่าตัวแปร ให้ใช้คำสั่งด้านล่าง:
$ยกเลิกการตั้งค่ามีวาร์
หากคุณตรวจสอบตัวแปรอีกครั้งโดยใช้คำสั่ง echo ที่กล่าวถึงข้างต้น จะไม่มีการแสดงผลลัพธ์ โปรดทราบว่าการยกเลิกการตั้งค่าจะใช้ได้เฉพาะกับเทอร์มินัลเซสชันปัจจุบันเท่านั้น หากมีตัวแปรสภาพแวดล้อมทั้งระบบทั่วโลกที่กำหนดไว้ในระบบของคุณ ตัวแปรเหล่านั้นจะพร้อมใช้งานอีกครั้งในเทอร์มินัลเซสชันใหม่
ในการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเชลล์ที่กำลังใช้งานอยู่และสำหรับโปรเซสย่อย / เชลล์ที่เรียกใช้จากเชลล์นั้น ให้ใช้ตัวแปรในรูปแบบต่อไปนี้:
$ส่งออก มีวาร์=xyzในการตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวรสำหรับ bash shells (แอพเทอร์มินัลเริ่มต้นส่วนใหญ่ในลีนุกซ์ดิสทริบิวชันได้รับการกำหนดค่าสำหรับ bash shell) ให้เพิ่มตัวแปร (พร้อมส่งออกคีย์เวิร์ด) ที่ส่วนท้ายของไฟล์ .bashrc ที่ซ่อนอยู่ในโฮมไดเร็กทอรีของคุณ
ส่งออก MYVAR=xyzคุณสามารถแก้ไขไฟล์ .bashrc ได้โดยใช้คำสั่งด้านล่าง:
$subl ~/.bashrcแทนที่ subl ด้วยคำสั่งของโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ คุณจะต้องโหลดไฟล์ .bashrc ซ้ำเพื่อเปิดใช้งานการเปลี่ยนแปลง เรียกใช้คำสั่งด้านล่างเพื่อทำสิ่งนี้:
$แหล่งที่มา~/.bashrcด้านล่างนี้เป็นตัวอย่างของตัวแปรสภาพแวดล้อมแบบกำหนดเองที่ฉันตั้งค่าไว้สำหรับ Ruby Gems
คุณสามารถดูตัวแปรสภาพแวดล้อมทั้งหมดที่เปิดใช้งานบนระบบของคุณโดยเรียกใช้คำสั่งด้านล่าง:
$สิ่งแวดล้อมหากต้องการตรวจสอบโดยเฉพาะว่าได้เปิดใช้งานตัวแปรสภาพแวดล้อมที่กำหนดเองในไฟล์ .bashrc หรือไม่ ให้เรียกใช้คำสั่งด้านล่าง:
$สิ่งแวดล้อม | กริป มีวาร์=ในการตั้งค่าตัวแปรสภาพแวดล้อมทั้งระบบสำหรับแอป เชลล์ และกระบวนการทั้งหมด ให้เพิ่มตัวแปรที่กำหนดเองของคุณในไฟล์ /etc/environment โดยไม่ต้องส่งออกคีย์เวิร์ด
MYVAR=xyzคุณสามารถแก้ไขไฟล์ /etc/environment ได้โดยเรียกใช้คำสั่งด้านล่าง:
$sudosubl/ฯลฯ/สิ่งแวดล้อมแทนที่ subl ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ คุณอาจต้องรีบูตระบบเพื่อให้การเปลี่ยนแปลงมีผล หากต้องการตรวจสอบว่าตัวแปรที่คุณกำหนดเองได้รับการตั้งค่าอย่างถูกต้องหรือไม่ ให้เรียกใช้คำสั่งด้านล่าง:
$สิ่งแวดล้อม | กริป มีวาร์=หรือคุณสามารถใช้คำสั่ง printenv เพื่อตรวจสอบการเปลี่ยนแปลง:
$printenv MYVARโปรดทราบว่าคำสั่ง unset ที่อธิบายข้างต้นใช้ได้กับตัวแปรสภาพแวดล้อมที่กำหนดเองทั้งหมด ไม่ว่าจะเป็นตัวแปรเฉพาะเซสชันหรือตัวแปรส่วนกลาง อย่างไรก็ตาม unset จะลบตัวแปรสำหรับเชลล์เซสชันที่ทำงานอยู่เท่านั้น และจะไม่ลบตัวแปรทั้งระบบหรือตัวแปรทั่วโลกอย่างถาวร
ตัวแปรสภาพแวดล้อมที่กำหนดไว้ล่วงหน้าบางส่วนใน Ubuntu ได้แก่:
- USER – ชื่อของผู้ใช้ที่เข้าสู่ระบบ
- HOME – โฮมไดเร็กทอรีของผู้ใช้ที่ล็อกอิน (โดยปกติคือ /home/username)
- DISPLAY – ใช้งานมอนิเตอร์ที่ใช้งานอยู่ (ปกติจะถูกตั้งค่าโดยอัตโนมัติโดยตัวจัดการการเข้าสู่ระบบ)
- PWD – ไดเร็กทอรีการทำงานที่ใช้หรือเรียกใช้เชลล์
- SHELL – เชลล์ที่กำลังใช้งานทั้งระบบ (โดยปกติคือ /bin/bash)
- LANG – ภาษาที่ระบบใช้ (ผู้ใช้กำหนด สามารถเปลี่ยนได้)
- PATH – สคริปต์ / ไบนารี / ไฟล์เรียกทำงานถูกค้นหาในไดเร็กทอรีที่ตั้งค่าไว้ในตัวแปร PATH
ตัวแปรสภาพแวดล้อมบางอย่างที่มักใช้เพื่อส่งผลต่อพฤติกรรมของแอปพลิเคชัน:
- LC_ALL – บังคับแทนที่สถานที่ที่กำหนดโดยผู้ใช้ด้วยค่าที่ระบุในตัวแปร
- LD_LIBRARY_PATH – ใช้เพื่อกำหนดไดเร็กทอรีเพิ่มเติมที่จะค้นหาไลบรารีรันไทม์
- PATH – ใช้เพื่อกำหนดไดเร็กทอรีเพิ่มเติมที่จะค้นหาสคริปต์ / ไบนารี / ไฟล์เรียกทำงาน
- LD_PRELOAD – ใช้เพื่อโหลดไลบรารีที่กำหนดเอง / ดาวน์เกรด / อัปเกรดในแอปพลิเคชัน
นี่เป็นจุดสิ้นสุดของบทความนี้ ตัวแปรสภาพแวดล้อมในลีนุกซ์ช่วยในการรันคำสั่งและแอพพลิเคชั่นที่ปรับแต่งโดยไม่ต้องแก้ไขซอร์สและไบนารีจริง ๆ โดยให้วิธีการกำหนดและใช้ตัวแปรทั่วโลกทั่วทั้งระบบ