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

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

2
วิธีการกู้คืนจาก PATH จะถูกตัดเหลือ 1024 อักขระโดย SETX
ฉันได้รับข้อผิดพลาดใน Windows 8 หลังจากพยายามใช้ SETX เพื่อเพิ่ม JAVA.exe ให้กับตัวแปร Windows PATH: WARNING: The data being saved is truncated to 1024 characters. หลังจากรีบูตฉันสังเกตเห็นว่า PATH นั้นสั้นกว่าเมื่อก่อนมาก ฉันอ่านมาแล้วว่า SETX ไม่สามารถจัดการได้เกิน 1024 ตัวอักษร ที่จะได้รับการรู้ในบทความที่แนะนำให้ใช้ ฉันสงสัยว่าระบบของฉันจะไม่เสถียรในขณะนี้ (สันนิษฐาน) บางไดเรกทอรีไม่ปรากฏในตัวแปร PATH อีกต่อไป จุดสิ้นสุดของสตริงจะถูกตัดออกกลางไดเรกทอรีอย่างชัดเจน (ที่ Pr): (...) ;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Pr มีวิธีใดในการย้อนกลับหรือที่ใดก็ได้ที่ค่าก่อนหน้าของ PATH ถูกจับ ชายฉันไม่อยากจะเชื่อว่าสิ่งเหล่านี้ยังคงเกิดขึ้นได้ใน Windows หลังจาก 29 ปี

4
วิธีอัปเดตตัวแปรสภาพแวดล้อมผู้ใช้ PATH จากบรรทัดคำสั่ง
ฉันมีตัวแปร PATH ของระบบพร้อมการกำหนดค่าระดับระบบ ฉันใช้ตัวแปร PATH ของผู้ใช้เพื่อเสริม PATH กับการตั้งค่าเฉพาะของผู้ใช้ ฉันต้องการอัพเดตตัวแปร PATH ของผู้ใช้จาก command-line เช่น setx แต่ฉันไม่รู้วิธีอ้างอิงเส้นทางผู้ใช้ที่มีอยู่ใน setx ในคำสั่งต่อไปนี้ (setx ไม่มี / M) setx PATH c:\my-user-specifc-bin-path;%PATH% PATH แรกหมายถึง PATH ของผู้ใช้ แต่% PATH ที่สองจะถูกแทนที่ด้วย PATH "เต็ม" (user + system) ดังนั้นหมายความว่าเส้นทางของระบบทั้งหมดจะถูกทำซ้ำใน PATH ของผู้ใช้ ... สิ่งที่แน่นอนไม่ใช่สิ่งที่ฉันต้องการ ฉันอยากจะ: ส่งผลต่อตัวแปรสภาพแวดล้อม PATH ของผู้ใช้เท่านั้น ผนวก / เติมองค์ประกอบของเส้นทางหนึ่งหรือมากกว่าหนึ่งไปยังค่าที่มีอยู่ ทำจากบรรทัดคำสั่ง

4
เพิ่ม PATH กับ SETX หรือ PATHMAN หรืออะไรอย่างอื่น?
ฉันกำลังพยายามเพิ่ม PATH จากบรรทัดคำสั่งเช่นเดียวกับ SETX% PATH% ... มันจะขยาย PATH เสมอซึ่งฉันไม่ต้องการ PATHMAN มีจุดประสงค์เพื่อจุดประสงค์นี้ แต่มันไม่ได้ผลสำหรับฉันบน Windows 7 มันหยุดทำงานเกือบตลอดเวลาและไม่ตรวจสอบซ้ำ ต้องมีเครื่องมือสำหรับจัดการตัวแปร PATH ในวิธีที่เหมาะสม SETX จะสมบูรณ์แบบ แต่อาจไม่ได้อยู่กับไวยากรณ์% PATH%

1
เรียกใช้ช็อตคัตจากพรอมต์คำสั่งโดยไม่มีนามสกุล. lnk (Windows)
ฉันสร้างโฟลเดอร์ (d: \ shortcuts) สร้างทางลัดสำหรับแอปพลิเคชั่นส่วนใหญ่ในโฟลเดอร์นี้และต่อท้ายพา ธ โฟลเดอร์ไปยังตัวแปรสภาพแวดล้อม Path ตอนนี้ทุกแอปพลิเคชันของฉันพร้อมใช้งานจากหน้าต่างรันและคำสั่งโดยไม่ต้องยุ่งกับ Path อย่างไรก็ตามตอนนี้ฉันต้องพิมพ์ชื่อของทางลัดเช่นเดียวกับส่วนขยาย (เช่น vlc.lnk) เพื่อเรียกใช้ มีวิธีการทำเช่นนี้โดยไม่ต้องพิมพ์ส่วนขยายหรือไม่?

1
ฉันต้องการเส้นทาง SQL Server ในตัวแปรสภาพแวดล้อม PATH เพื่อให้ใช้งานได้หรือไม่
SQL Server เพิ่มสิ่งต่าง ๆ ให้กับตัวแปรสภาพแวดล้อม PATH ของฉันและเมื่อเวลาผ่านไป bloat ทำให้ฉันมีขีด จำกัด 2048-char ใน Windows 7 ฉันต้องการใช้งาน SQL Server เพื่อทำงานจริงหรือไม่? นี่เป็นเครื่องที่กำลังพัฒนาดังนั้นฉันต้องการติดตั้งหลายรุ่น ฉันแค่กังวลเกี่ยวกับการใช้งานปกติในแต่ละวันมากกว่ากรณีขอบที่อาจเกิดขึ้นเช่นฉันอาจจะไม่ทำเช่นนี้ในเครื่องที่ใช้งานจริง แต่ไม่จำเป็นต้องทำเพราะมันติดตั้งเพียงเวอร์ชั่นเดียว เช่นฉันมี: c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\ c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\ c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\ c:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\ C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ c:\Program Files (x86)\Microsoft …

1
เหตุใดตัวแปรสภาพแวดล้อม PATH ของฉันจึงแตกต่างจากพรอมต์คำสั่ง
พื้นหลังที่สำคัญเล็กน้อย: บริษัท ของฉันมีสคริปต์ VBS แบบเข้าสู่ระบบทั่วไปที่ทำการปรับเปลี่ยนตัวแปรสภาพแวดล้อม PATH ของผู้ใช้เมื่อเข้าสู่ระบบและอนุญาตให้ฉันเรียกใช้ซอฟต์แวร์ที่มีการพึ่งพาไฟล์ทำแผนที่ DFS ที่แมป ฉันเพิ่งติดตั้ง Windows Powershell SDK ไปยังเครื่อง Windows 7 Enterprise ของฉันและพยายามลองแก้ไขตัวแปรสภาพแวดล้อม PATH ของฉันจากบรรทัดคำสั่ง Powershell ต่อไปนี้ฉันสังเกตเห็นว่าฉันไม่สามารถเรียกใช้แอปพลิเคชันที่สอดคล้องกับการปรับเปลี่ยน PATH เหล่านี้และตัวแก้ไขตัวแปรสภาพแวดล้อม PATH ถูกตั้งค่าเป็นสิ่งที่แตกต่างจากที่แสดงเมื่อฉันออก'echo %PATH%'จากพรอมต์คำสั่ง ตัวอย่างเช่น (การทำให้เข้าใจง่าย) จากตัวแก้ไขตัวแปรสภาพแวดล้อม ( My Computer properties -> Advanced System Settings -> Environment Variables) ฉันมี C:\MyDir\; C:\MyOtherDir ในขณะที่เมื่อฉันได้'echo %PATH%'รับคำสั่งจากฉัน: C:\MyDir\ มีใครที่มีปัญหาคล้ายกันและมีวิธีแก้ปัญหาบ้างไหม? เมื่อฉัน googled …

3
ตัวแปร Unix PATH คืออะไรและฉันจะเพิ่มมันได้อย่างไร
แบบฝึกหัดการเขียนโปรแกรมจำนวนมากขอให้ผู้ใช้เพิ่มบางสิ่งลงไปPATHแต่ไม่อธิบายว่ามันคืออะไร ทรัพยากรที่มีอยู่ที่อธิบายPATHถึงผู้ใช้ใหม่ในบรรทัดคำสั่งนั้นไม่ค่อยดีนัก PATHตัวแปรUnix คืออะไร command not foundฉันเพียงแค่ดาวน์โหลดโปรแกรมแล้วพยายามที่จะเรียกใช้คำสั่งในสถานีและมี สิ่งนี้เกี่ยวข้องกับPATHอะไร? ฉันได้เพิ่มบางอย่างลงในPATHคำสั่งนี้แล้วก็ทำงานได้: export PATH=/path/to/some/bin:$PATH ... แต่แล้วฉันก็command not foundกลับมาอีกครั้งในครั้งต่อไปที่ฉันเริ่มคอมพิวเตอร์ ฉันจะทำให้มันอยู่ในPATHทุกครั้งที่ฉันเปิด Terminal ได้อย่างไร เป็นวิธีที่ดีที่สุดในการตรวจสอบว่าโปรแกรมเช่น Git หรือgccโหลดบนคอมพิวเตอร์ของฉันแล้ว?

2
ทำไมฉันถึงมีสามโฟลเดอร์เอกสารของฉัน
ฉันกำลังพยายามแก้ไขโปรไฟล์ของฉันบน Windows 7 ในปัจจุบัน % USERPROFILE% ชี้ไปที่ C:\Users\myUsername เอกสารของฉันยังอยู่ที่ C:\Users\myUsername \\profileServer\profiles$\myUsername มีสองโฟลเดอร์ "My Documents" ไม่มีโฟลเดอร์ใดในโฟลเดอร์เหล่านี้ที่มีสิ่งต่อไปนี้ C:\Users\myUsername\My Documents การนำทางไปยัง%USERPROFILE%ใน Windows Explorer จะแสดงสำเนาสองชุดของทุกสิ่งหนึ่งสำเนาในเครื่องและสำเนาหนึ่งชุดจากเซิร์ฟเวอร์ โปรแกรมใช้การเรียงลำดับของการโยนระหว่างC:\Users\myUsername\My Documentsหรือหนึ่งในสองเอกสารของฉันใน profileServer ตาม sysadmins ของเราเอกสารของฉันควรจะชี้ไปที่เซิร์ฟเวอร์โปรไฟล์ แต่โฟลเดอร์อื่น ๆ ควรอยู่ในพื้นที่ ฉันจะแก้ไขได้อย่างไรฉันจึงมีทุกสิ่งหนึ่งสำเนาโดยที่เอกสารของฉันชี้ไปที่\\profileServer\profiles$\myUsername\Documentsและทุกอย่างในพื้นที่ พูดตามตรงฉันไม่เข้าใจว่าทำไมเรื่องนี้จึงยากและสับสน ตัวอย่างเช่นเหตุใด Windows จึงอนุญาตให้แสดงสองโฟลเดอร์ที่มีชื่อเดียวกันในไดเรกทอรีเดียวกัน และทำไมไม่ป้อนC:\Users\myUsernameและ%USERPROFILE%เข้าไปใน Windows Explorer ผลิตผลลัพธ์ที่แตกต่างสอง? พวกเขาควรจะเหมือนกัน ภาพหน้าจอบางส่วน ไดเรกทอรีของฉันใน profileServer ไดเรกทอรีผู้ใช้ท้องถิ่นของฉัน C:\Users\myUsername การนำทางไปยัง%USERPROFILE%ใน Windows Explorer แสดงว่า%USERPROFILE%ถูกตั้งค่าเป็นไดเรกทอรีท้องถิ่น

4
การค้นหา IP หรือชื่อโฮสต์ของเครื่องต้นทาง (ssh)
ฉันเชื่อมต่อกับเครื่องจำนวนมากอย่างต่อเนื่องจากสถานที่ตั้งทางกายภาพที่แตกต่างกัน ส่วนใหญ่นี้จะทำแม้ว่า SSH บางครั้งเครื่องเกตเวย์หรือสองจะต้อง (ซึ่งผมวิงวอนผ่านProxyCommandใน~/.ssh/config) ฉันต้องการทราบว่ามีวิธีการระบุ IP หรือชื่อโฮสต์ของเครื่องที่เรียกการเชื่อมต่อเริ่มต้น (เช่นเครื่องที่ฉันกำลังทำงาน) อยู่ที่ปลายรีโมตหรือไม่ ฉันไม่ต้องการส่งตัวแปรสภาพแวดล้อมเนื่องจากบางเครื่องไม่มีการตั้งค่าPermitUserEnvironmentรูต $SSH_CLIENTตัวแปรสภาพแวดล้อมจะเป็นประโยชน์สำหรับการเชื่อมต่อโดยตรง แต่จะแสดงเฉพาะประตูล่าสุด แนวคิดปัจจุบันของฉันสำหรับโซลูชันคือการคว้าเอา$SSH_CLIENTไปหา$SSH_CLIENTค่าของเครื่องและทำซ้ำจนกว่าจะไม่มี จากนั้นคว้าชื่อโฮสต์และดึงกลับมาอย่างใด ดูเหมือนว่างานแฮ็คเล็กน้อย ไม่มีใครมีวิธีที่ดีกว่า ฉันทำงานในเชลล์ทุบตีเป็นส่วนใหญ่ แต่ฉันก็มีความสุขสำหรับคำแนะนำที่ไม่ได้ใช้เช่นกัน

2
มีวิธีที่จะผลักดันและวางตัวแปรสภาพแวดล้อมทั้งหมดในชุดสคริปต์หรือไม่?
มีวิธีที่จะผลักดันและวางตัวแปรสภาพแวดล้อมทั้งหมดในชุดสคริปต์หรือไม่? ตัวอย่างเช่นฉันต้องการทำสิ่งนี้: pushEnvironmentVariables call "%VS140COMNTOOLS%\vsvars32.bat" (do some stuff...) popEnvironmentVariables pushEnvironmentVariables call "%VS90COMNTOOLS%\vsvars32.bat" (do some other stuff...) popEnvironmentVariables

10
$ PATH ใน Vim ไม่ตรงกับ Terminal
ฉันใช้ MacVim และเมื่อฉันไม่เปิดจาก Terminal ( mvim) $ PATH ของมันไม่รวมสิ่งที่ฉันตั้งไว้ใน. bash_profile ของฉัน ดูเหมือนว่าจะมีค่าเริ่มต้น/usr/bin:/bin:/usr/sbin:/sbinเท่านั้น ฉันใช้ OS X 10.5.8 แม้ว่าฉันจะสามารถตั้งค่าด้วยตนเองใน. vimrc ของฉันที่จะโอเคแม้ว่าฉันจะชอบที่จะดึงจากที่เดียวกับ Terminal ฉันได้ลองทำตามสิ่งที่แนะนำในไซต์เดียวแล้วเพิ่มlet $PATH += /blah/foo:/bar/etcให้เป็นประโยชน์ แก้ไข / แก้ไข:ดูคำตอบของฉันด้านล่าง MacVim มีตัวเลือกในการแก้ไขปัญหานี้

2
ฉันจะผนวกตัวแปรสภาพแวดล้อมที่ผู้ใช้กำหนดเองต่อท้ายตัวแปรระบบ PATH ใน Windows 7 ได้อย่างไร
ฉันมีตัวแปรที่ผู้ใช้กำหนดสองประการ: ANT_HOME ตั้งค่าเป็น % USERPROFILE% \ ผู้พัฒนา \ Tools \ Apache \ Apache Ant \ apache-ant-1.8.2 JAVA_HOME ตั้งค่าเป็น C: \ Program Files \ Java \ jdk1.6.0_23 และฉันต้องการผนวกเส้นทางเหล่านั้นไปยังตัวแปรระบบเพื่อให้ฉันสามารถเข้าถึงไฟล์ปฏิบัติการในโฟลเดอร์ bin ของพวกเขา ฉันเหนื่อย PATH ตั้งค่าเป็น [อื่น ๆ เส้นทาง];% ANT_HOME% \ bin;% JAVA_HOME% \ bin อย่างไรก็ตามนั่นไม่ได้ผล เมื่อฉันเปิดพรอมต์คำสั่งและ echo% PATH% ตัวแปรผู้ใช้จะไม่ถูกขยาย . ดังนั้นเส้นทางจะแสดงตัวอักษร,;% ANT_HOME% \ …

2
ฉันจะทำให้ไฟล์แบตช์สามารถทำงานบนคอมพิวเตอร์เครื่องอื่นได้อย่างไร
เมื่อฉันสร้างแบตช์ไฟล์ในคอมพิวเตอร์เพื่อเรียกใช้start c:\Users\________\Whatever\...งานมันจะทำงานบนเครื่องของฉัน ฉันจะทำให้มันทำงานบนเครื่องของคนอื่นได้อย่างไรเนื่องจากชื่อผู้ใช้ไม่ใช่ชื่อผู้ใช้ของฉัน

2
cron ไม่สามารถอ่านตัวแปรสภาพแวดล้อม PYTHONPATH ได้หรือไม่
ฉันเพิ่มลงใน PYTHONPATH ในไฟล์. bash_profile ของเซิร์ฟเวอร์แล้ว อย่างไรก็ตามปรากฏว่า cron ไม่ได้อ่านเพราะฉันได้รับข้อผิดพลาดในการนำเข้า ถ้าฉันเรียกใช้คำสั่ง cron ที่แน่นอนในบรรทัดคำสั่งมันใช้งานได้ แต่ถ้าฉันส่งเอาต์พุตข้อผิดพลาดของ cron ไปยังไฟล์แยกต่างหากมันล้มเหลวในการนำเข้า ฉันจะจัดโครงสร้างอย่างไรเพื่อให้ cron ทราบ PYTHONPATH ที่ต่อท้ายของฉัน

4
การตั้งค่าตัวแปรสภาพแวดล้อม Linux
ฉันใช้ Red Hat Linux Enterprise 5 อยู่ ฉันมักจะใช้คำสั่งส่งออกเพื่อตั้งค่าตัวแปรสภาพแวดล้อม มีวิธีอื่นในการตั้งค่าตัวแปรสภาพแวดล้อมและอะไรคือข้อดี / ข้อเสียของมัน

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