ตำแหน่งที่จะตั้งค่าตัวแปรสภาพแวดล้อมบน Mac
ที่บรรทัดรับคำสั่ง ตัวแปรสภาพแวดล้อมถูกกำหนดสำหรับเชลล์ปัจจุบันและสืบทอดโดยคำสั่งหรือกระบวนการที่กำลังทำงานอยู่ พวกเขาสามารถกำหนดอะไรก็ได้ตั้งแต่เชลล์เริ่มต้น, PATH, ไดเร็กทอรีโฮมของผู้ใช้, ไปจนถึงประเภทการจำลองเทอร์มินัล, ไดเร็กทอรีการทำงานปัจจุบัน, ที่ซึ่งไฟล์ประวัติตั้งอยู่, ภาษาและการตั้งค่าโลคัลไลเซชัน และต่อไปเพื่อรวมตัวแปรเชลล์ซึ่งรวมทุกอย่าง ตั้งแต่การปรับแต่งไปจนถึง bash prompt, เอาต์พุต ls ที่เป็นสี, และการเปลี่ยนแปลงรูปลักษณ์ของเทอร์มินัล, นามแฝง และอื่นๆ อีกมากมาย
มาดูวิธีแสดงรายการตัวแปรสภาพแวดล้อมและเชลล์ รวมถึงวิธีตั้งค่าและเพิ่มตัวแปรสภาพแวดล้อมใหม่ที่บรรทัดคำสั่งของ Mac OS X เราจะพูดถึงเรื่องนี้สำหรับทั้งเชลล์ bash และ zsh
การแสดงสภาพแวดล้อมปัจจุบันและตัวแปรเชลล์ใน bash บน Mac OS X
หากต้องการอย่างรวดเร็ว รับรายการตัวแปรสภาพแวดล้อม คุณสามารถใช้คำสั่งต่อไปนี้กับ bash:
printenv
หากต้องการแสดงรายการตัวแปรสภาพแวดล้อมใน zsh ให้ใช้คำสั่งต่อไปนี้: env
หรือตัวเลือก:
echo $ENV_VAR
หากคุณต้องการดู รายการที่สมบูรณ์ของตัวแปรเชลล์ คุณสามารถใช้คำสั่ง 'set' ได้เช่นกัน:
ชุด
เอาต์พุตของคำสั่งเหล่านี้อาจมีความยาวได้ ดังนั้นคุณอาจต้องการไพพ์เอาต์พุตผ่านคำสั่งที่น้อยกว่าหรือมากกว่า
การตั้งค่าตัวแปรสภาพแวดล้อมใน macOS Command Line ด้วย zsh
zsh shell ตั้งค่าตัวแปรสภาพแวดล้อมผ่านไฟล์ zshenv ซึ่งอยู่ในโฮมไดเร็กทอรีของผู้ใช้ที่:
~/.zshenv
ดังนั้น คุณสามารถเพิ่มตัวแปรสภาพแวดล้อม zsh ได้โดยการแก้ไขไฟล์นั้นด้วย nano, vim ฯลฯ หรือโดยใช้ echo เช่น:
echo 'ส่งออก ENV_VAR=ตัวอย่าง' >> ~/.zshenv
ตัวอย่างเช่น:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
การตั้งค่าตัวแปรสภาพแวดล้อมใน Mac OS X Command Line ด้วย bash
เนื่องจาก Mac ตั้งค่าเริ่มต้นให้ใช้ bash shell คุณจึงสามารถตั้งค่าตัวแปรสภาพแวดล้อมในไดเร็กทอรีผู้ใช้ .bash_profile สำหรับบัญชีผู้ใช้ที่ใช้งานอยู่ เส้นทางไปยังไฟล์นั้นจะอยู่ที่:
~/.bash_profile
หากคุณเปลี่ยนเชลล์ของคุณหรือคุณไม่แน่ใจว่าคุณกำลังใช้เชลล์ใดอยู่ คุณสามารถตรวจสอบได้ตลอดเวลาโดยใช้คำสั่ง echo $SHELL ซึ่งจะแสดงเชลล์ที่ใช้อยู่ เราจะถือว่าคุณยังคงใช้ bash shell เริ่มต้นของ OS X ดังนั้นเราจะเพิ่มตัวแปรสภาพแวดล้อมใหม่โดยแก้ไข .bash_profile ด้วย nano คุณสามารถใช้ vi, emacs หรือโปรแกรมแก้ไขข้อความอื่นได้หากต้องการ แต่เราจะครอบคลุมนาโนเพื่อความง่าย
เริ่มต้นด้วยการเปิด .bash_profile ภายในโปรแกรมแก้ไขข้อความนาโน:
nano .bash_profile
คุณสามารถเพิ่มตัวแปรสภาพแวดล้อมและตัวแปรเชลล์ลงในบรรทัดใหม่ หากมีข้อมูลอยู่แล้วภายในไฟล์ .bash_profile อย่าลืมเพิ่มตัวแปรใหม่ลงในบรรทัดว่างใหม่โดยใช้ปุ่มลูกศรและปุ่ม คืนกุญแจเท่าที่จำเป็น
ลองมาเป็นตัวอย่างและบอกว่าเรากำลังจะตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME และ JRE_HOME ภายใน .bash_profile โดยเพิ่มสิ่งต่อไปนี้ในบรรทัดใหม่ของไฟล์:
export JAVA_HOME=$(/usr/libexec/java_home) ส่งออก JRE_HOME=$(/usr/libexec/java_home)
สมมติว่าเราดำเนินการเสร็จแล้ว ให้บันทึกการเปลี่ยนแปลงที่ทำกับ .bash_profile โดยกด Control+o (นั่นคือ o เช่นเดียวกับตัวนาก) จากนั้นออกจาก nano โดยกด Control+X
การเปลี่ยนแปลงและเพิ่มเติมที่เกิดขึ้นกับตัวแปรสภาพแวดล้อมจะต้องรีสตาร์ทเชลล์หรือเชลล์ใหม่เพื่อวางไข่
การตั้งค่าตัวแปรสภาพแวดล้อมชั่วคราวใน OS X
เป็นมูลค่าการกล่าวขวัญว่าคุณยังสามารถตั้งค่าตัวแปรสภาพแวดล้อมชั่วคราวใน bash ได้โดยใช้คำสั่ง 'export' ด้วยตัวเอง แม้ว่าสิ่งเหล่านี้จะคงอยู่ตราบเท่าที่ bash shell ปัจจุบันยังคงทำงานอยู่ ตัวอย่างเช่น หากคุณต้องการเพิ่มเส้นทางชั่วคราวไปยัง ~/bin/ คุณสามารถใช้คำสั่งต่อไปนี้:
export PATH=$PATH:~/bin
อีกครั้ง คำสั่ง 'ส่งออก' ที่เรียกใช้โดยตัวมันเองและไม่ได้อยู่ภายใน .bash_profile จะเป็นการตั้งค่าชั่วคราวเท่านั้น และตัวแปรสภาพแวดล้อมจะไม่คงอยู่จนกว่าคุณจะเพิ่มลงใน .bash_profile
ถ้าคุณต้องการเพิ่ม PATH ใหม่สำหรับการใช้งานจริง ๆ คุณควรเพิ่มลงใน .bash_profile โดยวางคำสั่งส่งออกที่เหมาะสมลงในไฟล์
นอกเหนือไปจาก bash shell หากคุณเปลี่ยนเชลล์เริ่มต้นของแอป Terminal จาก bash เป็น tcsh, zsh, sh, ksh, fish หรือเชลล์ทางเลือกอื่น ๆ ที่มีอยู่ คุณจะต้อง เพื่อแก้ไขโปรไฟล์หรือไฟล์ rc ที่เหมาะสมสำหรับเชลล์นั้นๆ (.tschrc, .cshrc, .profile เป็นต้น)