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

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

1
การแก้ไขตัวแปรสภาพแวดล้อม PATH ทั่วโลกปลอดภัยหรือไม่?
ฉันเพิ่งพบว่าฉันไม่สามารถเรียกใช้ mysql ได้โดยไม่ต้องพิมพ์เส้นทางทั้งหมดหรืออยู่ในไดเรกทอรีที่ถูกต้องยกเว้นว่าฉันได้เพิ่มเส้นทางไปยังตัวแปรสภาพแวดล้อม PATH ฉันจัดการเพื่อทำและตอนนี้ฉันสามารถเรียกใช้ mysql เมื่อเริ่มต้นบรรทัดคำสั่งของฉัน ฉันขี้เกียจและไม่ต้องการพิมพ์เส้นทางทั้งหมดเพียงเพื่อเรียกใช้ mysql จาก cmd นอกจากนี้ฉันไม่รู้วิธีอื่นใดที่จะทำ ฉันสุ่มพบวิธีแก้ปัญหาในฟอรัม สิ่งเดียวที่ฉันสงสัยในตอนนี้คือถ้ามันใช้ได้ / ปลอดภัยสำหรับโปรแกรมทั้งหมดของฉัน แม้ว่ามันจะไม่สามารถใช้งานได้จริง แต่ก็เป็นข้อควรระวัง ฉันสังเกตเห็นว่าในบทเรียนออนไลน์บางคนมีตัวแปร PATH สำหรับตัวแปรผู้ใช้ขณะที่ฉันไม่ได้ทำ ฉันพบตัวแปรสภาพแวดล้อม PATH ในส่วนตัวแปรระบบเท่านั้น นั่นเป็นสิ่งที่ไม่ดีเหรอ? บัญชีเดียวในพีซีของฉันคือบัญชีผู้ดูแลระบบ อย่างน้อยนั่นเป็นบัญชีเดียวที่ฉันใช้ ฉันจะได้รับความชัดเจน / การป้อนข้อมูลนี้?

1
ความแตกต่างระหว่าง DESKTOP_SESSION, XDG_SESSION_DESKTOP และ XDG_CURRENT_DESKTOP คืออะไร
ฉันต้องการที่จะตรวจสอบซึ่งผู้จัดการเดสก์ทอปฉันกำลังทำงานและฉันพบว่ามีสามตัวแปรสภาพแวดล้อมDESKTOP_SESSION, XDG_SESSION_DESKTOPและXDG_CURRENT_DESKTOPซึ่งจะช่วยให้ผมทำเช่นนั้น แต่ความแตกต่างระหว่างตัวแปรทั้งสามนี้คืออะไรกันแน่? ขอบคุณล่วงหน้า.

4
ตัวแปรสภาพแวดล้อมที่ขาดหายไปใน Windows 7 [ซ้ำกัน]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : ตัวแปร PATH และสภาพแวดล้อมของ Windows 7 เสียหาย (4 คำตอบ) ปิดให้บริการใน2 ปีที่ผ่านมา เมื่อฉันรีบูตเครื่องคอมพิวเตอร์ทุกอย่างมันสำรวย จากนั้นหลังจากไม่กี่ชั่วโมงแอปพลิเคชันเช่น Visual Studio, Notepad ++, เกม, iTunes, ส่วนประกอบ Windows (พรอมต์ Cmd, Explorer, ฯลฯ ) ฯลฯ หยุดทำงานกับข้อผิดพลาดเกี่ยวกับไฟล์ที่หายไปหรือติดตั้งไม่ถูกต้อง ฉันพบว่าถ้าฉันเรียกดู Cmd.exe และเรียกใช้โดยตรง (แทนที่จะลิงค์จากเมนู) จากนั้นฉันสามารถเรียกใช้และตัวแปรสภาพแวดล้อม WinDir และอื่น ๆ จะหายไป (ซึ่งอธิบายว่าทำไมฉันไม่สามารถเรียกใช้ Cmd.exe จากทางลัดเนื่องจากใช้% WinDir% \ System32 สำหรับเส้นทาง) และเส้นทางของระบบถูกตั้งค่าเป็น (NULL) เมื่อฉันไปที่การตั้งค่าระบบขั้นสูง (การสำรวจ SystemPropertiesAdvanced.exe …

1
ฉันจะระบุที่อยู่ IPv6 ในตัวแปร X Window DISPLAY ได้อย่างไร
ฉันกำลังพยายามส่งออกตัวแปร DISPLAY ที่มีที่อยู่ IPv6 เป็นตัวเลข รูปแบบใดที่ตัวแปรจะใช้เนื่องจากที่อยู่ IPv6 มี:ซึ่งปกติจะใช้สำหรับหมายเลขที่แสดง Googling สิ่งนี้เกิดขึ้นจากการขาดคำตอบ

1
มีวิธีการโหลดตัวแปรสภาพแวดล้อมใน emacs หรือไม่?
เมื่อ emacs เริ่มทำงานจะรับสืบทอดตัวแปรสภาพแวดล้อมที่กำหนดไว้ในเวลาไม่ว่าจะเป็นในแอปพลิเคชั่นเปิดตัว (Linux) หรือในที่เก็บส่วนกลาง (รีจิสทรีของ Windows) บน Windows ตัวแปรสภาพแวดล้อมสามารถตั้งค่าได้ทั่วโลก ฉันจะแจ้งให้ emacs รีเฟรชรายการตัวแปรสภาพแวดล้อมได้อย่างไร ฉันยังสนใจที่จะรีเฟรชตัวแปรบน Linux (ที่เปลี่ยนแปลงในเชลล์ที่เปิดตัว emacs) ดูเหมือนว่าจะยากกว่านี้มากเนื่องจากไม่มีที่เก็บส่วนกลางของตัวแปรสภาพแวดล้อม อาจจะด้วยการเล่นกับemacsclient?

3
BASH บน Ubuntu บน Windows (ระบบย่อย Linux AKA สำหรับ Windows) 10 - ฉันจะตั้งค่า PATH ได้อย่างไร?
ขอบคุณการอัปเดตครบรอบตอนนี้ฉันมี BASH บน Ubuntu บน Windows 10 ก่อนหน้านี้ฉันใช้ Cygwin และตั้งค่า Maven ใน Cygwin (และทำให้มันใช้งานได้อย่างสมบูรณ์) ซึ่งส่วนใหญ่ประกอบด้วยการติดตั้ง Maven แล้วแก้ไขPATHสภาพแวดล้อมของฉันตัวแปร (ใน~/.bashrc) ฉันพยายามทำสิ่งเดียวกันโดยใช้ BUW แต่เท่าที่ฉันสามารถบอกได้PATHตัวแปรจะถูกละเว้น (เพิ่มไดเรกทอรี Maven bin ลงในPATHแล้วดำเนินการwhich mvnส่งคืนค่าว่าง) มีเคล็ดลับที่ฉันหายไปหรือฉันต้องตั้งค่าของฉันPATHแตกต่างกันใน BUW? แก้ไข: ให้ฉันเจาะจง ฉันต้องทำอะไรใน "???" ขั้นตอนในการรับ pathTestScript.sh เข้าสู่เส้นทาง? mkdir -p ~/pathTest touch ~/pathTest/pathTestScript.sh echo '#!/bin/sh' >> ~/pathTest/pathTestScript.sh echo 'echo "it works!"' >> ~/pathTest/pathTestScript.sh …

6
ทำไม LD_LIBRARY_PATH ของฉันจึงไม่ได้เปิดใช้งานเทอร์มินัล
ฉันมีเชลล์สคริปต์เพื่อตั้งค่าตัวแปรสภาพแวดล้อมและเปิดโปรแกรมใด ๆ ที่ฉันส่งเป็นอาร์กิวเมนต์: export PATH=$HOME/local/bin:$PATH export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH export TESTER="MY TEST VAR" $@ เมื่อฉันใช้สิ่งนี้เพื่อโทรbashหามันใช้งานได้: kjfletch@flatbed:~$ envrun.sh bash kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH /home/kjfletch/local/lib: kjfletch@flatbed:~$ echo $TESTER MY TEST VAR เมื่อฉันใช้มันเพื่อเรียกขั้ว ( xterm, aterm, ... ) ของฉันLD_LIBRARY_PATHได้รับการตั้งค่า: kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH kjfletch@flatbed:~$ echo $TESTER MY TEST VAR ทำไมสิ่งนี้ถึงเกิดขึ้น ฉันจะหยุดสิ่งนี้ได้อย่างไร (ฉันใช้ Debian 5.0) ปรับปรุง เทอร์มินัลของฉันไม่ได้เรียก bash …

2
ตัวแปรสภาพแวดล้อม WINDIR แก้ไขเป็น% SystemRoot% และไม่ใช่ C: \ windows
บางเวลาที่ผ่านมาฉันเปลี่ยนด้วยตนเอง WINDIR ตัวแปรสภาพแวดล้อมเพื่อทดสอบบางอย่างในโปรแกรมดั้งเดิมที่ฉันทำงานด้วย (ควรทำสิ่งนี้บน VM แทนที่จะเป็นเดสก์ทอปของฉัน: / แต่มันสายเกินไป ดังนั้นด้วยเหตุผลบางอย่างตอนนี้ %WINDIR% ไม่สามารถแก้ไข c: \ windows ได้อีกต่อไป แต่เป็น% SystemRoot% จากบรรทัดคำสั่ง: echo %WINDIR% outputs %SystemRoot% และ echo %SystemRoot% outputs C:\windows การไม่สามารถแก้ไขปัญหา WINDIR ทำให้ฉันปวดหัวทุกประเภท ฉันลองตั้งค่า WINDIR อย่างชัดเจนถึง c:\windows ในหน้าต่างคอนโซลนั้นมีให้ แต่ก็ไม่มีประโยชน์ ฉันได้ลองเปลี่ยนค่าคีย์รีจิสทรีของ windir ด้วยตนเองที่ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\windier และ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment\windir แต่ก็ยังไม่มีโชค มีใครเคยเห็นพฤติกรรมนี้มาก่อนหรือไม่ ลืมพูดถึงสิ่งนี้อยู่ใน windows 7 Enterprise …

3
เพิ่ม exe เดียวในไดเรกทอรีที่กำหนดให้กับตัวแปรสภาพแวดล้อม PATH
เป็นไปได้หรือไม่ที่จะเพิ่มโปรแกรมเดียวในหลาย ๆ ตัวในไดเรกทอรีไปยังตัวแปรสภาพแวดล้อม PATH? บอกว่าฉันมีโปรแกรมมากมายใน D:\utils. แทนที่จะเพิ่ม D:\utils\ ไปยัง PATH ฉันต้องการเพิ่ม D:\utils\utility-5.exe. มันไม่ได้ผล มีวิธีเพิ่มอย่างเดียวหรือฉันต้องการย้ายไปไว้ในไดเรกทอรีของตัวเองหรือไม่?

6
zsh: ตั้งค่าตัวแปรสภาพแวดล้อมโดยอัตโนมัติสำหรับไดเรกทอรี
สมมติว่าฉันมีโครงการใน: ~/working_dir เมื่อใดก็ตามที่ฉันเรียกใช้คำสั่งจากไดเรกทอรีนี้ฉันต้องมีการตั้งค่าตัวแปรสภาพแวดล้อมบางอย่าง ดังนั้นฉันสามารถส่งออกได้เช่น: export VAR=value อย่างไรก็ตามมีจำนวนมากและน่าเบื่ออีกทั้งฉันลืมบางครั้งและเรียกใช้คำสั่งเพื่อให้มันล้มเหลวเนื่องจากไม่มีตัวแปรสภาพแวดล้อมที่ให้รหัส API หรือบางอย่าง มีวิธีที่ฉันสามารถให้ zsh จดจำตัวแปรสภาพแวดล้อมเหล่านี้สำหรับไดเรกทอรีนี้หรือไม่ดังนั้นเมื่อใดก็ตามที่ฉันเรียกใช้คำสั่งใด ๆ จากไดเรกทอรีนั้นจะทำงานด้วยชุดตัวแปรสภาพแวดล้อมเหล่านั้นหรือไม่

2
เขียนตัวแปรหลายบรรทัดไปยัง. txt (CMD, NO .bat)
ฉันประสบความสำเร็จ รุนแรง %PATH% เป็นหลายบรรทัดเช่นนี้ set t=%PATH:;=^&echo.% กว่านี้ แสดง แต่ละเส้นทางในบรรทัดใหม่เป็นอย่างที่ฉันต้องการ: echo %t% อย่างไรก็ตามเมื่อฉันต้องการ เขียน ตัวแปรเป็นไฟล์ echo %t% >paths.txt บรรทัดสุดท้ายเท่านั้นที่ถูกเขียนไปยังไฟล์ ผมทำอะไรผิดหรือเปล่า? ปรับปรุง ปรากฎว่า set t=%PATH:;=^&echo.% คำสั่งไม่ได้แทนที่ ; ตัวละครที่มีตัวแบ่งบรรทัด (ตามที่ฉันบอก) แต่มันแทนที่ด้วย &echo.‌​ คำสั่งที่จะดำเนินการในภายหลัง

2
// และ :: ในค่าของตัวแปรสภาพแวดล้อมหมายถึงอะไร
บนเครื่อง Linux ของฉันตัวแปรสภาพแวดล้อมบางตัวมีรายการไดเรกทอรี ไดเรกทอรีจะถูกคั่นด้วย :. แต่บางครั้งก็ถูกคั่นด้วย ::. มันเป็นเพียงความผิดพลาดที่ควรได้รับการปฏิบัติตาม : หรือหมายความว่าและสตริงว่างเปล่าเป็นหนึ่งในไดเรกทอรี (ที่อาจจะตีความว่าเป็นไดเรกทอรีปัจจุบัน) ไดเรกทอรีส่วนใหญ่ที่ระบุในตัวแปรสภาพแวดล้อมมีรูปแบบนี้: /aaa/bbb/ccc อย่างไรก็ตามบางคนมีรูปแบบนี้: /aaa/bbb//ccc หมายเหตุทับสองครั้งระหว่าง bbb และ ccc. มันเป็นเพียงความผิดพลาดที่ถูกตีความว่าเป็นเฉือนเดียวหรือมีความหมายพิเศษหรือไม่?

1
Git อยู่ใน PATH แต่ไม่ได้รับการยอมรับว่าเป็นคำสั่ง
ฉันเพิ่งติดตั้ง Git ใหม่และไม่สามารถเรียกใช้งานพรอมต์คำสั่งดั้งเดิมของ Windows ได้อีกต่อไป ฉันแน่ใจว่ามันมีสิ่งต่อไปนี้ Path ตัวแปรสภาพแวดล้อมอย่างที่คุณเห็น: C:\Users\Ult>where git C:\Program Files (x86)\Git\cmd\git.exe C:\Users\Ult>git --version 'git' is not recognized as an internal or external command, operable program or batch file. C:\Users\Ult>"C:\Program Files (x86)\Git\cmd\git.exe" --version git version 1.9.4.msysgit.2 จนถึงตอนนี้ฉันได้ลองแล้ว: ปิดและเปิดพรอมต์คำสั่งอีกครั้ง ติดตั้ง Git อีกครั้ง รีบูทคอมพิวเตอร์ แก้ไข Path ตัวแปรสภาพแวดล้อมการเคลื่อนย้าย C:\Program Files (x86)\Git\cmd ไปที่จุดเริ่มต้นของมัน …

3
ฉันจะทราบได้อย่างไรว่าตัวแปร Windows XP cmd ลงท้ายด้วยสตริงที่กำหนดหรือไม่
ฉันต้องการที่จะตรวจสอบว่าตัวอักษรตัวสุดท้าย (s) ของตัวแปรสภาพแวดล้อมมีหรือ\ .exeฉันจะทำสิ่งนี้ใน Windows XP SP3 ได้อย่างไร

1
PROCESSOR_ARCHITECTURE ตัวแปรสภาพแวดล้อมจะระบุเป็น 32 บิตบนเครื่อง 64 บิตเมื่อติดตั้งระบบปฏิบัติการ 32 บิตหรือไม่
หากฉันมี Windows รุ่น 32 บิตติดตั้งอยู่ในเครื่องที่รองรับ 64 บิตคำสั่งต่อไปนี้จะคืนค่า "x86" หรือไม่ echo %PROCESSOR_ARCHITECTURE%

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