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

ตัวแปรสภาพแวดล้อมเป็นตัวแปรทั่วทั้งระบบซึ่งใช้ค่าเดียวกัน ตัวแปรเหล่านี้มักจะถูกวิเคราะห์คำโดยเชลล์เมื่อเรียกใช้งานคำสั่งและถูกขยายเป็นตัวแปรที่เหมาะสม ตัวอย่างเช่นสิ่งนี้อนุญาตให้ผู้ใช้ย้ายตำแหน่งไฟล์โดยไม่จำเป็นต้องอัปเดตพา ธ แบบฮาร์ดโค้ดในสคริปต์ (พวกเขาเพียงแค่ต้องอัพเดตตัวแปรสภาพแวดล้อม)

3
มีโฟลเดอร์มากเกินไปในตัวแปรพา ธ
ฉันพบปัญหาแปลก ๆ - ฉันไม่สามารถเปิด Visual Studio หรือเรียกใช้คำสั่งง่ายๆจากพรอมต์คำสั่งดูเหมือนว่าเนื่องจากตัวแปร PATH ของฉันยาวเกินไป ตอนนี้ฉันดูแล้วฉันเห็นว่าหลาย บริษัท ได้เพิ่มไดเรกทอรีการติดตั้งลงในตัวแปร PATH ฉันสงสัยว่าเพราะเหตุใดบริษัท เหล่านี้จึงเพิ่มโฟลเดอร์เข้าไปในเส้นทาง (อาจทำให้การเรียกใช้โปรแกรมของพวกเขาง่ายขึ้น?) และสิ่งใดบ้างที่จำเป็นและที่ฉันสามารถลบได้ หากฉันลบบางรายการฉันจะไม่สามารถเปิดโปรแกรมได้หรือไม่ ( นี่คือสิ่งที่มีอยู่ในเส้นทางในปัจจุบัน)

4
ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับเซสชัน GNOME ได้อย่างไร
ในระบบของฉันสำหรับแอพที่ใช้ SDL ฉันต้องตั้งค่าตัวแปรสภาพแวดล้อม: export SDL_AUDIODRIVER=alsa เพื่อให้เสียงทำงานอย่างถูกต้อง ฉันจะตั้งค่าเซสชัน GNOME ของฉันอย่างไรเพื่อให้ตัวแปรนี้มีอยู่ในทุกแอปพลิเคชัน (ดังนั้นถ้าฉันเรียกใช้แอปพลิเคชันผ่าน Nautilus หรือใช้DBGLแอปทำงานอย่างถูกต้อง) แก้ไข: ไฟล์การกำหนดค่าที่ฉันได้ตั้งค่า (และรีเซ็ตเครื่องหลังจากแต่ละ) จะไม่มีประโยชน์: .xsession .xsessionrc .gnomerc .bash_profile .profile<- ใช้งานได้ในกรณีทั่วไป แต่ไม่ใช่เมื่อ distro ของคุณตั้งค่าตัวแปรไว้ที่อื่น /etc/profile

6
ตัวแปรสภาพแวดล้อม PATH แตกต่างกันสำหรับ Windows แบบ 32 บิตและ 64 บิตเป็นไปได้หรือไม่
เป็นไปได้หรือไม่ที่จะมีPATHตัวแปรสภาพแวดล้อมทั้งหมดหรือบางส่วนที่เฉพาะเจาะจงกับประเภทของอิมเมจของกระบวนการทำงาน (32 บิต / 64 บิต)? เมื่อฉันเรียกใช้แอพบางตัวจากภายใน 64 บิต cmd.exe ฉันต้องการให้มันเลือกไลบรารี่ OpenSSL เวอร์ชัน 64 บิตในขณะที่เมื่อฉันรันแอพบางตัวจากภายใน 32 บิต cmd.exe ฉันต้องการให้มันเลือกไลบรารี่ OpenSSL เวอร์ชัน 32 บิต ทำตาม where.exe ไม่พบ OpenSSL libs เมื่อใช้ตัวแปร% ProgramFiles% ในตัวแปรสภาพแวดล้อม PATH

2
.profile หรือ. bash_profile
ฉันสับสนฉันจะตั้งค่าตัวแปรสภาพแวดล้อมได้ที่ไหน ใน. profile หรือใน. bash_profile ฉันใช้ทั้ง mac osx และ ubuntu สับสนเป็นที่หนึ่งที่ฉันใช้ที่นี่

8
ช่องว่างและวงเล็บในตัวแปร Windows PATH ไขไฟล์แบตช์
ดังนั้นตัวแปรเส้นทางของฉัน (ระบบ -> Adv การตั้งค่า -> Env Vars-> ระบบ -> เส้นทาง) ตั้งค่าเป็น: C:\Python26\Lib\site-packages\PyQt4\bin; %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem; %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; C:\Python26\; C:\Python26\Scripts\; C:\cygwin\bin; "C:\PathWithSpaces\What_is_this_bullshit"; "C:\PathWithSpaces 1.5\What_is_this_bullshit_1.5"; "C:\PathWithSpaces (2.0)\What_is_this_bullshit_2.0"; "C:\Program Files (x86)\IronPython 2.6"; "C:\Program Files (x86)\Subversion\bin"; "C:\Program Files (x86)\Git\cmd"; "C:\Program Files (x86)\PuTTY"; "C:\Program Files (x86)\Mercurial"; Z:\droid\android-sdk-windows\tools; แม้ว่าจะเห็นได้ชัดว่าไม่มีบรรทัดใหม่ สังเกตเห็นบรรทัดที่ประกอบด้วยPathWithSpaces- อันแรกไม่มีช่องว่างส่วนที่สองมีช่องว่างและบรรทัดที่สามมีช่องว่างตามด้วยวงเล็บ ตอนนี้สังเกตเห็นผลลัพธ์ของไฟล์แบทช์นี้: C:\Program Files (x86)\Microsoft Visual …

2
ใน Windows Explorer ทำไมเราสามารถสร้างโฟลเดอร์หรือไฟล์ที่มีสัญลักษณ์เปอร์เซ็น (%) ได้หากใช้สัญลักษณ์เปอร์เซ็นสำหรับตัวแปรที่มีอยู่
ไปที่ Windows Explorer และสร้างโฟลเดอร์ / ไดเรกทอรีชื่อ%systemdrive%, %windir%หรือตัวแปรที่มีอยู่อื่น ๆ เปิดพรอมต์คำสั่งแล้วไปที่โฟลเดอร์ที่คุณเพิ่งสร้างขึ้น คุณไม่สามารถทำได้เนื่องจากมี%สัญลักษณ์เปอร์เซ็น ( ) ในชื่อโฟลเดอร์ทำให้เกิดความสับสนในพรอมต์คำสั่งเนื่องจากใช้สัญลักษณ์เปอร์เซ็นต์สำหรับตัวแปรที่มีอยู่ การหลบหนี%สัญลักษณ์เปอร์เซ็น ( ) ที่มีสัญลักษณ์สองเปอร์เซ็นต์ ( %%) ไม่ทำงานดังนั้นคำตอบของ DavidPostill นั้นผิด: ดังนั้นใน Windows Explorer เหตุใดเราจึงสามารถสร้างโฟลเดอร์หรือไฟล์ที่มี%สัญลักษณ์เปอร์เซนต์ ( ) หากใช้สัญลักษณ์เปอร์เซ็นต์สำหรับตัวแปรที่มีอยู่

2
การระงับข้อความ“ หยิบ _JAVA_OPTIONS”
ฉันใช้ _JAVA_OPTIONS เพื่อตั้งค่าเริ่มต้นสำหรับ Java บน RHEL มันใช้งานได้ดี แต่ตอนนี้ทุกครั้งที่ฉันเริ่มจาวาฉันจะได้รับข้อความต่อไปนี้ Picked up _JAVA_OPTIONS: -foo -bar -baz เป็นไปได้ไหมที่จะรักษาตัวเลือกไว้ แต่ระงับการแสดงข้อความนี้

2
ฉันจะผนวกรายการลงในตัวแปร PATH ของระบบอย่างถาวรผ่านทางบรรทัดคำสั่งได้อย่างไร
ฉันต้องทำอะไร: ผนวกโฟลเดอร์เข้ากับ%PATH%ตัวแปรสภาพแวดล้อมที่ระดับระบบ ทำการเปลี่ยนแปลงอย่างถาวร ฉันต้องทำยังไง: การใช้พรอมต์คำสั่งหรือวิธีอื่นที่สามารถเขียนคำสั่งที่จำเป็นทั้งหมดลงใน.BATไฟล์ได้ การใช้เครื่องมือเท่านั้นที่จะมีให้ในการติดตั้ง Windows XP SP3 โดยไม่ต้องมีการเชื่อมต่ออินเทอร์เน็ต ฉันต้องการเรียกใช้สคริปต์ในเครื่อง แต่ฉันก็สามารถเข้าถึงระบบเป้าหมายได้จากระยะไกล โปรดจำไว้ว่าฉันไม่สามารถสันนิษฐานได้ว่าบริการที่ไม่ใช่ค่าเริ่มต้น (เช่น: รีจิสตรีระยะไกล) เปิดใช้งานบนระบบ ระบบสคริปต์ต้องทำงานกับ: Windows XP SP3 Windows Server 2003 SP2 Windows 7 SP1 Windows Server 2008 R2 SP1 ฉันค่อนข้างคุ้นเคยกับSETคำสั่ง แต่ฉันก็รู้ด้วยว่าโดยทั่วไปแล้วมันจะเขียนทับตัวแปรที่มีอยู่แทนการผนวกเข้ากับมัน นั่นไม่เป็นที่ยอมรับ มีเครื่องมืออื่น (หรือตัวเลือกSETที่ฉันไม่ทราบ) ที่จะผนวกเข้ากับตัวแปรแทนหรือไม่ หรือฉันจำเป็นต้องวางการทำงานในสคริปต์ที่มีการคัดลอกตัวแปรที่มีอยู่ชั่วคราวไปยังตัวแปรหรือไฟล์ข้อความอื่นหรือไม่? นอกจากนี้ยังเป็นความเข้าใจของฉันที่SETจะไม่เปลี่ยนแปลงตัวแปรอย่างถาวร ฉันเคยเห็นการกล่าวถึงSETXแต่ดูเหมือนจะไม่ได้มาพร้อมกับ Windows XP SP3 ในตัว (หรืออย่างน้อยก็ไม่สามารถใช้งานได้ในระบบที่ฉันใช้งาน) มีวิธีอื่นในการเปลี่ยนแปลงอย่างถาวรผ่านการแก้ไขรีจิสทรีหรือบางอย่าง ฉันได้ดูไปรอบ ๆ และได้เรียนรู้เกี่ยวกับการตั้งค่าตัวแปรสภาพแวดล้อมใน …

8
การตั้งค่าหรือแก้ไขตัวแปรสภาพแวดล้อม (ทั้งระบบ) ใน cmd.exe
ฉันกำลังมองหาวิธีที่สะดวกในการเพิ่มและ / หรือแก้ไขและ / หรือลบตัวแปรสภาพแวดล้อมจากบรรทัดคำสั่ง โดยเฉพาะอย่างยิ่งฉันพบว่าตัวเองบางครั้งในสถานการณ์เมื่อฉันต้องเพิ่มตัวแปรบางอย่างใน cmd.exe ฉันจะขอบคุณถ้ามีคนแสดงวิธีที่ไม่ใช่ GUI ในการปรับเปลี่ยน (นั่นคือ: เพื่อเพิ่มไดเรกทอรีใหม่ไป) %PATH%ตัวแปร การเปลี่ยนแปลงควรเป็นแบบถาวรไม่ใช่เฉพาะช่วงเวลาของcmdเซสชัน

1
ทำไมยกเลิกการโหลดตัวแปรในไฟล์แบตช์ Windows
มีการพิจารณาถึงความจำเป็นหรือวิธีปฏิบัติที่ดีในการยกเลิกการโหลดตัวแปรที่ใช้ในไฟล์แบตช์ของ Windows หรือไม่ ตัวอย่างเช่นในรหัสต่อไปนี้set myFolder=ในตอนท้ายจำเป็นหรือไม่ @echo off set myFolder="C:\Temp\Batchfiles" echo %myFolder% set myFolder= ฉันเคยเห็นสิ่งนี้ในหลาย ๆ ที่ทางออนไลน์แน่นอนว่าตัวแปรจะถูกยกเลิกการโหลดโดยอัตโนมัติเมื่อไฟล์แบตช์สิ้นสุดหรือไม่

1
เริ่มเปลือก bash (cygwin) ด้วยเส้นทางที่ถูกต้องโดยไม่ต้องเปลี่ยนไดเรกทอรี
ฉันต้องรันเชลล์สคริปต์ cygwin โดยไม่ต้องเปลี่ยนไดเรกทอรีทำงานจากนอกสภาพแวดล้อม cygwin หากฉันเรียกใช้เพียงแค่\path\to\bash.exe -c commandนั้นเส้นทางจะไม่ได้รับการตั้งค่าอย่างถูกต้องและโปรแกรม cygwin ไม่พบ หากฉันใช้--loginตัวเลือกให้bashตั้งค่าเส้นทางอย่างถูกต้อง แต่เปลี่ยนเป็นโฮมไดเร็กตอรี่ของฉันด้วย ฉันควรใช้ตัวเลือกใดในการเรียกใช้ bash เพื่อเก็บไดเรกทอรีการทำงานปัจจุบันและยังพบว่าสามารถเรียกใช้งาน cygwin ได้อีกด้วย

3
จะแสดงรายการตัวแปรสภาพแวดล้อมส่วนกลางแยกจากตัวแปรสภาพแวดล้อมเฉพาะของผู้ใช้ได้อย่างไร
ใน Windows (เช่นรุ่น 10) คุณสามารถแสดงรายการตัวแปรสภาพแวดล้อมโดยใช้คำสั่ง set คุณจะแสดงรายการตัวแปรสภาพแวดล้อมที่เหมือนกันสำหรับผู้ใช้ทั้งหมดหรือเพียงแค่ตัวแปรสภาพแวดล้อมสำหรับผู้ใช้หรือเซสชันปัจจุบันได้อย่างไร

3
LD_LIBRARY_PATH ยกเลิกการตั้งค่าตามหน้าจอ
การทำงานscreenใน bash จะทำความสะอาดตัวแปร LD_LIBRARY_PATH ฉันอ่านหนังสือเสร็จแล้วและดูเหมือนว่านี่เป็นพฤติกรรมที่คาดหวัง แต่ฉันต้องหลีกเลี่ยง วิธีแก้ปัญหาคือการเพิ่มการประกาศ LD_LIBRARY_PATH ~/.bashrcไป ในกรณีของฉัน LD_LIBRARY_PATH ได้รับการเปลี่ยนแปลงมากมายระหว่างการเปิดตัวเชลล์และเมื่อฉันเรียกใช้หน้าจอดังนั้นฉันต้องได้รับค่าปัจจุบันของ LD_LIBRARY_PATH ในscreenเซสชัน

1
ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับกระบวนการ rsync ระยะไกลได้อย่างไร
เมื่อฉันใช้ rsync เพื่อคัดลอกไฟล์จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องกระบวนการ rsync จะเริ่มต้นที่ปลายทั้งสอง อย่างไรก็ตามในตอนท้ายรีโมตดูเหมือนว่าไฟล์การเริ่มต้นเชลล์ไม่อ่านดังนั้นฉันไม่สามารถตั้งค่าตัวแปรสภาพแวดล้อมสำหรับกระบวนการ rsync ระยะไกลได้ แต่น่าเสียดายที่มีเซิร์ฟเวอร์หนึ่งตัวที่ฉันต้องการ rsync ซึ่ง rsync ต้องการตัวแปรสภาพแวดล้อมเพื่อให้ทำงานได้ ฉันไม่ใช่ผู้ดูแลระบบบนเซิร์ฟเวอร์ดังนั้นฉันไม่สามารถเปลี่ยนการกำหนดค่าส่วนกลาง ฉันจะทำอย่างไรเพื่อตั้งค่า varaibles ของสภาพแวดล้อมสำหรับกระบวนการ rsync ระยะไกล


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