คำถามติดแท็ก environment-variables

ตัวแปรสภาพแวดล้อมเป็นชุดของค่าที่ตั้งชื่อแบบไดนามิกที่สามารถส่งผลกระทบต่อวิธีการทำงานของกระบวนการจะทำงานบนคอมพิวเตอร์

2
วิธีการแสดงความคิดเห็นในไฟล์ laravel .env
ฉันกำลังทำงานในโครงการใน Laravel ที่ฉันเก็บการตั้งค่าบางอย่างไว้ในการตั้งค่าไฟล์. env เช่นพารามิเตอร์ไม่กี่ตัวสำหรับการทดสอบและพารามิเตอร์ไม่กี่ตัวที่ใช้งานได้จริงดังนั้นฉันจึงตรวจสอบว่ามีวิธีการแสดงความคิดเห็น . นี่คือตัวอย่าง /* Test Settings */ ACCESS_KEY=qwsdr ACCESS_TOKEN=Bgcvfsx /* Live Settings */ ACCESS_KEY=985AsdefG ACCCESS_TOKEN=LFP994kL

6
การตั้งค่าตัวแปรสภาพแวดล้อม PATH ใน OSX อย่างถาวร
ฉันได้อ่านคำตอบหลายข้อเกี่ยวกับวิธีตั้งค่าตัวแปรสภาพแวดล้อมบน OSX เป็นแบบถาวร ก่อนอื่นฉันลองสิ่งนี้วิธีตั้งค่า $ PATH บน Linux / Unix อย่างถาวร แต่ฉันได้รับข้อความแสดงข้อผิดพลาดno such file and directoryดังนั้นฉันคิดว่าฉันสามารถลอง ~/.bash_profileแทนได้~/.profileแต่มันไม่ได้ผล ประการที่สองฉันพบวิธีนี้วิธีตั้งค่า $ PATH ตามที่แอปพลิเคชันใช้ใน os xซึ่งคำแนะนำในการเปลี่ยนแปลง ~ / .MacOSX / environment.plist แต่อีกครั้งฉันมีno such file and directoryข้อผิดพลาด ฉันต้องการวิธีตั้งค่าตัวแปรเหล่านี้เพื่อที่จะไม่ต้องตั้งค่าซ้ำแล้วซ้ำอีกทุกครั้งที่เปิดเซสชันเทอร์มินัลใหม่

12
ตัวแปรสภาพแวดล้อมมีขนาดใหญ่เกินไปใน Windows 10
ฉันรู้ว่ามันแปลกและฉันใช้เวลาเกือบ 3 วันในการค้นหาวิธีแก้ปัญหาออนไลน์โดยไม่ได้รับประโยชน์ ฉันเลยตัดสินใจมาที่นี่ ฉันเพิ่งอัพเกรดเป็น Windows 10 จาก Windows 8.1 ตอนนี้ฉันต้องการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับการติดตั้ง Apache Maven ใหม่ ทุกครั้งที่ฉันสร้างตัวแปรผู้ใช้สิ่งต่าง ๆ ก็ดี อย่างไรก็ตามฉันยังต้องสร้างตัวแปรระบบที่ฉันจะต้องผนวกไดเรกทอรีช่องเก็บกับตัวแปรที่ฉันเป็นผู้สร้างในตัวแปรผู้ใช้เพื่อให้เป็น "เส้นทาง" ตอนนี้ทุกครั้งที่ฉันทำสิ่งนี้ฉันจะได้รับข้อความแสดงข้อผิดพลาดที่ระบุว่า "ตัวแปรสภาพแวดล้อมนี้มีขนาดใหญ่เกินไปด้วยเหตุนี้ฉันจึงไม่สามารถสร้างเส้นทางได้ ฉันได้แนบภาพข้อผิดพลาดนี้แล้ว ฉันจะขอบคุณสิ่งนี้ถ้าใครสามารถช่วยฉันแก้ปัญหานี้ได้ ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของคุณ

14
วิธีทดสอบโค้ดขึ้นอยู่กับตัวแปรสภาพแวดล้อมโดยใช้ JUnit
ฉันมีโค้ด Java ชิ้นหนึ่งซึ่งใช้ตัวแปรสภาพแวดล้อมและพฤติกรรมของโค้ดขึ้นอยู่กับค่าของตัวแปรนี้ ฉันต้องการทดสอบรหัสนี้ด้วยค่าตัวแปรสภาพแวดล้อมที่แตกต่างกัน ฉันจะทำสิ่งนี้ใน JUnit ได้อย่างไร? ฉันเคยเห็นวิธีตั้งค่าตัวแปรสภาพแวดล้อมใน Javaโดยทั่วไปแล้ว แต่ฉันสนใจด้านการทดสอบหน่วยมากกว่าโดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าการทดสอบไม่ควรรบกวนซึ่งกันและกัน

7
อักขระที่อนุญาตในชื่อตัวแปรสภาพแวดล้อม Linux
อนุญาตให้ใช้อักขระใดบ้างในชื่อตัวแปรสภาพแวดล้อม Linux การค้นหาคร่าวๆของหน้า man และเว็บของฉันสร้างเฉพาะข้อมูลเกี่ยวกับวิธีการทำงานกับตัวแปร แต่ไม่อนุญาตให้ใช้ชื่อใด ฉันมีโปรแกรม Java com.example.fancypropertyที่จะต้องมีการกำหนดตัวแปรสภาพแวดล้อมที่มีจุดเช่น ด้วย Windows ฉันสามารถตั้งค่าตัวแปรนั้นได้ แต่ฉันไม่มีโชคในการตั้งค่าใน linux (ทดลองใช้ใน SuSE และ Ubuntu) ชื่อตัวแปรนั้นได้รับอนุญาตหรือไม่


8
ทำให้ $ JAVA_HOME เปลี่ยนได้ง่ายใน Ubuntu [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ใน Ubuntu ฉันต้องการสลับตัวแปรสภาพแวดล้อม JAVA_HOME ของฉันไปมาระหว่าง Java 5 และ 6 ฉันเปิดเทอร์มินัลแล้วพิมพ์ต่อไปนี้เพื่อตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME: export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun และในหน้าต่างเทอร์มินัลเดียวกันนั้นฉันพิมพ์ข้อความต่อไปนี้เพื่อตรวจสอบว่าตัวแปรสภาพแวดล้อมได้รับการอัพเดต: echo $JAVA_HOME และฉันเห็น/usr/lib/jvm/java-1.5.0-sunซึ่งเป็นสิ่งที่ฉันคาดหวังที่จะเห็น นอกจากนี้ฉันแก้ไข ~ / .profile และตั้งค่าตัวแปรสภาวะแวดล้อม JAVA_HOME เป็น /usr/lib/jvm/java-1.5.0-sun และตอนนี้สำหรับปัญหา - เมื่อฉันเปิดหน้าต่างเทอร์มินัลใหม่และฉันตรวจสอบตัวแปรสภาพแวดล้อม JAVA_HOME ของฉันโดยพิมพ์echo $ JAVA_HOMEฉันเห็นว่าตัวแปรสภาพแวดล้อม JAVA_HOME ของฉันถูกเปลี่ยนกลับเป็น Java 6 เมื่อฉันรีบูตเครื่อง (หรือบันทึก ฉันคิดว่า) ตัวแปรสภาพแวดล้อม …

4
วิธีตั้งค่าตัวแปรสภาพแวดล้อมของกระบวนการลูกใน Makefile
ฉันต้องการเปลี่ยน Makefile นี้: SHELL := /bin/bash PATH := node_modules/.bin:$(PATH) boot: @supervisor \ --harmony \ --watch etc,lib \ --extensions js,json \ --no-restart-on error \ lib test: NODE_ENV=test mocha \ --harmony \ --reporter spec \ test clean: @rm -rf node_modules .PHONY: test clean ถึง: SHELL := /bin/bash PATH := node_modules/.bin:$(PATH) boot: @supervisor …

5
แนวทางปฏิบัติที่ดีในการตรวจสอบว่ามีตัวแปรด้านสิ่งแวดล้อมอยู่หรือไม่?
ฉันต้องการตรวจสอบสภาพแวดล้อมของฉันว่ามีตัวแปรหรือไม่พูด"FOO"ใน Python เพื่อจุดประสงค์นี้ฉันใช้ไฟล์osไลบรารีมาตรฐาน หลังจากอ่านเอกสารของห้องสมุดฉันได้ค้นพบ 2 วิธีในการบรรลุเป้าหมาย: วิธีที่ 1: if "FOO" in os.environ: pass วิธีที่ 2: if os.getenv("FOO") is not None: pass ฉันต้องการทราบว่าวิธีใดเป็นเงื่อนไขที่ดี / เป็นที่ต้องการและเพราะเหตุใด

9
รับตัวแปรสภาพแวดล้อมจาก Docker Container
วิธีที่ง่ายที่สุดในการรับตัวแปรสภาพแวดล้อมจากคอนเทนเนอร์นักเทียบท่าที่ยังไม่ได้ประกาศใน Dockerfileคืออะไร ตัวอย่างเช่นตัวแปรสภาพแวดล้อมที่ถูกตั้งค่าผ่านบางdocker exec container /bin/bashเซสชัน? ฉันทำได้docker exec container env | grep ENV_VARแต่ฉันต้องการสิ่งที่คืนค่ามากกว่า ฉันได้ลองใช้docker exec container echo "$ENV_VAR"แล้ว แต่การแทนที่ดูเหมือนจะเกิดขึ้นนอกคอนเทนเนอร์ดังนั้นฉันจึงไม่ได้รับ env var จากคอนเทนเนอร์ แต่เป็นการแทนที่ env var จากคอมพิวเตอร์ของฉันเอง ขอบคุณ

3
จะตั้งค่าตัวแปรสภาพแวดล้อมเฉพาะช่วงเวลาของสคริปต์ได้อย่างไร?
บน Linux (Ubuntu 11.04) ใน bash เป็นไปได้ไหมที่จะตั้งค่าตัวแปรสภาพแวดล้อมชั่วคราวที่จะแตกต่างจากตัวแปรปกติในช่วงระยะเวลาของสคริปต์? ตัวอย่างเช่นในเชลล์สคริปต์การสร้างแอปที่บันทึกไปยัง HOME แบบพกพาโดยการตั้งค่า HOME เป็นโฟลเดอร์ชั่วคราวในไดเร็กทอรีการทำงานปัจจุบันจากนั้นเปิดแอป

6
ความหมายที่แท้จริงของ IFS = $ '\ n' คืออะไร?
หากตัวอย่างต่อไปนี้ซึ่งตั้งค่าIFSตัวแปรสภาพแวดล้อมเป็นอักขระฟีดบรรทัด ... IFS=$'\n' อะไรเครื่องหมายดอลลาร์หมายความ ว่า ? มันทำอะไรในกรณีเฉพาะนี้? ฉันจะอ่านเพิ่มเติมเกี่ยวกับการใช้งานเฉพาะนี้ได้ที่ไหน (Google ไม่อนุญาตให้ใช้อักขระพิเศษในการค้นหาและฉันไม่รู้ว่าจะค้นหาอะไรเป็นอย่างอื่น) ฉันรู้ว่าIFSตัวแปรสภาพแวดล้อมคืออะไรและ\nตัวละครคืออะไร (ฟีดบรรทัด) แต่ทำไมไม่ใช้แบบฟอร์มต่อไปนี้: IFS="\n"(ซึ่งใช้ไม่ได้) ตัวอย่างเช่นหากฉันต้องการวนซ้ำทุกบรรทัดของไฟล์และต้องการใช้ for loop ฉันสามารถทำได้: for line in (< /path/to/file); do echo "Line: $line" done อย่างไรก็ตามการดำเนินการนี้จะใช้ไม่ได้จนกว่าIFSจะตั้งค่าเป็นอักขระป้อนบรรทัด เพื่อให้ใช้งานได้ฉันต้องทำสิ่งนี้: OLDIFS=$IFS IFS=$'\n' for line in (< /path/to/file); do echo "Line: $line" done IFS=$OLDIFS หมายเหตุ:ฉันไม่ต้องการวิธีอื่นในการทำสิ่งเดียวกันฉันรู้หลายอย่างแล้ว ... ฉันแค่อยากรู้เรื่องนั้น$'\n'และสงสัยว่าจะมีใครให้คำอธิบายกับฉันได้บ้าง

11
ลบเส้นทางที่ซ้ำซ้อนออกจากตัวแปร $ PATH
ฉันได้กำหนดเส้นทางเดียวกันในตัวแปร $ PATH 6 ครั้ง ฉันไม่ได้ออกจากระบบเพื่อตรวจสอบว่าใช้งานได้หรือไม่ ฉันจะลบรายการที่ซ้ำกันได้อย่างไร ตัวแปร $ PATH มีลักษณะดังนี้: echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin ฉันจะรีเซ็ตเป็นเพียงแค่ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

5
ตั้งค่าตัวแปรสภาพแวดล้อมถาวรจาก cmd.exe
ฉันต้องตั้งค่าตัวแปรสภาพแวดล้อมในเครื่อง windows ต่างๆ แต่ฉันไม่อยากยุ่งยากในการเปลี่ยนด้วยตนเองโดยไปที่หน้าจอคุณสมบัติของ "My Computer" ฉันต้องการทำจากบรรทัดคำสั่งด้วยไฟล์แบตช์ เท่าที่ฉันเข้าใจการใช้ set จะเปลี่ยนตัวแปรสำหรับกระบวนการที่ฉันจะเรียกในหน้าต่างคำสั่งเท่านั้น ฉันต้องการตั้งค่าอย่างแน่นอนดังนั้นในภายหลังเมื่อเรียกใช้กระบวนการใหม่จะใช้การตั้งค่าใหม่ที่ฉันตั้งไว้ มีวิธีดำเนินการจากบรรทัดคำสั่งหรือไม่?

9
test process.env กับ Jest
ฉันมีแอปที่ขึ้นอยู่กับตัวแปรด้านสิ่งแวดล้อมเช่น: const APP_PORT = process.env.APP_PORT || 8080; และฉันต้องการทดสอบตัวอย่างเช่น: APP_PORT สามารถตั้งค่าได้โดยตัวแปร node env หรือexpressแอปที่กำลังทำงานบนพอร์ตที่ตั้งค่าด้วยprocess.env.APP_PORT ฉันจะบรรลุเป้าหมายนี้ด้วย Jest ได้อย่างไร? ฉันสามารถตั้งค่าprocess.envตัวแปรเหล่านี้ก่อนการทดสอบแต่ละครั้งได้หรือไม่หรือฉันควรล้อเลียนมันบ้าง

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