ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมได้อย่างไร


90

ฉันพยายามที่จะตั้งค่า Apache Tomcat CATALINA_HOMEในคอมพิวเตอร์ของฉันและมันต้องการให้ผมตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ มีใครรู้วิธีการทำเช่นนี้?

คำตอบ:


100

ใน bash คุณสามารถตั้งค่าตัวแปรดังนี้:

export CATALINA_HOME=/opt/catalina

เชลล์อื่น ๆ ส่วนใหญ่ปฏิบัติตามอนุสัญญานี้ แต่ไม่ใช่ทั้งหมด คุณสามารถตั้งค่าอย่างถาวรใน~/.profileเพื่อทุบตี (และก่อนหน้านี้หอยอื่น ๆ มีที่ตั้งอื่น ๆ )


6
สำหรับตัวแปรทั่วทั้งเซสชั่นhelp.ubuntu.comแนะนำ~/.profileว่าน่าจะเป็นไฟล์ที่ดีที่สุดสำหรับการวางการกำหนดค่าตัวแปรสภาพแวดล้อมเนื่องจาก DisplayManager จะถูกดำเนินการโดยอัตโนมัติในระหว่างกระบวนการเดสก์ท็อปกระบวนการเริ่มต้นและเชลล์ล็อกอินเมื่อเข้าสู่ระบบครั้งเดียว จากคอนโซลต้นฉบับเดิม
McDowell

อัปเดตคำตอบ เหตุผลที่ฉันใช้. bashrc แทนก็คือในบางครั้ง. profile ไม่ได้มีที่มาโดยอัตโนมัติ แต่ถ้ามันใช้งานได้ตอนนี้มันจะดีกว่าที่จะใช้
Ressu

6
การตั้งค่า~/.profileไม่ทำงานสำหรับฉัน มันทำงานใน~/.bashrcแม้ว่า
jumpnett

การตั้งค่าในการ~/.bash_profileทำงานเช่นกัน
jumpnett

นอกจากนี้ยังมีไฟล์ทั้งระบบใน / etc ใช้งานได้ แต่ต่อผู้ใช้หนึ่งราย
wheredidthatnamecome จาก

26

ตัวแปรสภาพแวดล้อมควรใช้งานได้แล้ว

หากคุณกำลังใช้แพ็คเกจ tomcat6 จากที่เก็บ Ubuntu จากนั้นตัวแปร CATALINA_HOME และตัวแปรสภาพแวดล้อมอื่น ๆ จะถูกตั้งค่าไว้แล้วใน/etc/init.d/tomcat6สคริปต์เริ่มต้น

หากคุณกำลังติดตั้ง Tomcat นอกตัวจัดการบรรจุภัณฑ์ (หวังว่าใน / opt หรือที่อื่นนอกระบบไฟล์ที่มีการจัดการ) ดังนั้นการเรียกใช้TOMCAT/bin/startup.shควรใช้ตำแหน่งสัมพัทธ์เพื่อกำหนด CATALINA_HOME

การตั้งค่าตัวแปรสภาพแวดล้อม

หากด้วยเหตุผลบางอย่างคุณยังต้องตั้งค่าตัวแปรสภาพแวดล้อมคุณสามารถเปิดหน้าต่างเทอร์มินัลแล้วพิมพ์คำสั่ง:

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat

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

ทำให้ตัวแปรสภาพแวดล้อมเป็นแบบถาวร

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

เพื่อให้แน่ใจว่าการตั้งค่าถูกหยิบขึ้นมาให้เพิ่มการตั้งค่าด้านบนไปยังหนึ่งในสคริปต์เริ่มต้นสำหรับ Tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

หมายเหตุ: startup.sh เรียกใช้ catalina.sh คุณควรเพิ่มการตั้งค่าเมื่อเริ่มต้นหนึ่งในไฟล์เหล่านี้ (หลังจากความคิดเห็นเริ่มต้น)

วิธีมาตรฐานสำหรับตัวแปรสภาพแวดล้อมโกลบอลคือการเพิ่มรายการใน/etc/environment(คุณไม่ได้ใช้คำสั่งส่งออกในไฟล์นี้เนื่องจากไม่ใช่สคริปต์ทุบตีปกติ)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat

ไม่แนะนำ

คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมในไฟล์กำหนดค่า bash (command line shell) แต่สิ่งเหล่านี้ไม่แนะนำเนื่องจากไม่ได้รับเสมอ (เช่นหากคุณใช้เซิร์ฟเวอร์ที่คุณไม่ต้องล็อกอินเพื่อเรียกใช้ tomcat): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / etc / รายละเอียด


5
ไม่ควรเป็นstartupหรือcatalinaสคริปต์ แต่เป็นสคริปต์setenv.shหรือsetenv.batสร้างหากจำเป็น: "นอกเหนือจาก CATALINA_HOME และ CATALINA_BASE ตัวแปรสภาพแวดล้อมทั้งหมดสามารถระบุได้ในสคริปต์" setenv "สคริปต์ถูกวางไว้ใน CATALINA_BASE / bin หรือลงใน CATALINA_HOME ไดเร็กทอรี / bin และชื่อ setenv.bat (บน Windows) หรือ setenv.sh (บน * nix) ไฟล์ต้องอ่านได้ " ( เรียกใช้ Apache Tomcat 7.0 Servlet / JSP Container , ส่วน 3.4)
Olathe

22

ในการตั้งค่าตัวแปรสภาพแวดล้อมถาวรในรุ่นล่าสุดอูบุนตู (จาก 14.04 ขึ้นไป) /etc/environmentเพิ่มตัวแปรที่จะ สำหรับการปฏิบัติตามคำแนะนำด้านล่าง

เปิดเทอร์มินัลแล้วเรียกใช้

sudo -H gedit /etc/environment

ให้รหัสผ่านของคุณจากนั้นในไฟล์ข้อความที่ได้รับแจ้ง

จากนั้นเพิ่มตัวแปรเช่น

ANT_HOME="/opt/ANT/"

ตัวอย่างของการ/etc/environmentได้รับด้านล่าง

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"

อย่าลืมออกจากระบบและลงชื่อเข้าใช้อีกครั้งเพื่อเปิดใช้งานตัวแปรสภาพแวดล้อม


6

สถานที่ที่ดีที่สุดสำหรับสิ่งนี้ขึ้นอยู่กับว่าคุณติดตั้ง Tomcat อย่างไรและแอพพลิเคชั่นใดที่คุณต้องการรับการตั้งค่านี้และวิธีที่คุณต้องการใช้ขอบเขตทั่วโลก

เอกสาร Ubuntu บนตัวแปรสภาพแวดล้อมกล่าวถึงข้อดีและข้อเสียของตัวเลือกต่างๆ


คุณหมายถึงอะไรเมื่อคุณพูดว่า "สถานที่ที่ดีที่สุดสำหรับสิ่งนี้"?
jumpnett

@jumpnett - ฉันหมายถึงตำแหน่งที่จะทำให้การตั้งค่าคงที่เพื่อให้แอปพลิเคชันพร้อมใช้งานตลอดเวลา เว้นแต่คุณจะยินดีพิมพ์การตั้งค่าทุกครั้งหรือต้องการเขียนสคริปต์ของคุณเอง
McDowell

3
nano ~/.bashrc

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

export VARNAME=value

LINK

ฉันทดสอบบน Ubuntu 16.04 ใช้งานได้ดี


1

หลังจากอ่านเอกสารเกี่ยวกับตัวแปรสภาพแวดล้อมของอูบุนตูฉันก็พบกับวิธีแก้ปัญหาต่อไปนี้:

##Save & run the following in a shell script,

export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash

บรรทัดสุดท้ายสร้าง child shell ซึ่งสืบทอดค่าตัวแปรสภาพแวดล้อมจาก parent shell (ซึ่งเพิ่งตั้งค่าไว้)

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