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


341

คำถามเกี่ยวกับ

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

เป็นเรื่องธรรมดามากที่นี่และในกรณีส่วนใหญ่คำตอบนั้นคล้ายกันมาก ในอนาคตมันจะดีถ้ามี Q / A ที่ดีสำหรับเรื่องนี้

ดังนั้นคำถามคืออะไรตัวแปรสภาพแวดล้อมเช่นปฏิบัติการPATHและฉันจะเปลี่ยนและใช้พวกเขาในระบบปฏิบัติการที่สำคัญได้อย่างไร

คำตอบที่ดีจะรวมถึงคำอธิบายอย่างง่าย ๆ เกี่ยวกับตัวแปรสภาพแวดล้อมและโดยเฉพาะอย่างยิ่งความPATHหมายของระบบปฏิบัติการรวมถึงแนวทางง่าย ๆ ในการตั้งค่าและอ่านตามนั้น


2
เบื่อที่ต้องทำด้วยตนเองทุกครั้งที่ต้องการฉันเขียนรายการรีจิสตรีเพื่อเพิ่มรายการเมนูบริบทสำหรับ AddToPath และ RemoveFromPath ไปยังโฟลเดอร์โดยใช้แอพฟรีที่เรียกว่า pathed.exe ต่อไปนี้เป็นลิงก์ไปยังคู่มือฉบับสมบูรณ์: addictivetips.com/windows-tips/…ตอนนี้ฉันสามารถเพิ่มโฟลเดอร์ไปยังตัวแปร PATH หรือลบออกจากมันได้อย่างง่ายดายโดยไม่ต้องแก้ไขไฟล์หรือกังวลเกี่ยวกับการจัดรูปแบบของตัวแปร . หวังว่ามันจะช่วย =)
Haroon Q. Raja

1
บน Windows มีทางลัดสำหรับการเปิดคุณสมบัติของ System ie แผงควบคุม -> ระบบคือปุ่ม WIN บนแป้นพิมพ์ + หยุดชั่วคราว / หยุด (WIN + ตัวแบ่ง) นี่เป็นประโยชน์อย่างมากและเร่งกระบวนการตั้งค่าตัวแปรสภาพแวดล้อมใหม่บน Win8 เพราะคุณต้องคลิกผ่านหน้าต่างหลาย ๆ หน้าต่างใน UI สมัยใหม่ (ใช่ถ้าทันสมัยแล้วฉันจะปลูกต้นกระบองเพชรบนฝ่ามือของฉัน) ซึ่งน่ารำคาญมาก แน่นอนคุณสามารถสร้างสคริปต์ powershell หรือใช้คำสั่ง setx และไม่ต้องกังวลอีกต่อไปเกี่ยวกับเรื่องนี้: D
termil0r

ใน Windows 8 การนำทางที่เร็วที่สุดสำหรับการเปลี่ยนแปลงระบบและตัวแปรสภาพแวดล้อมของผู้ใช้กำลังใช้การค้นหา <kbd> Win </kbd> + <kbd> W </kbd> จะแสดงการค้นหาสำหรับการตั้งค่าทั้งหมด ค้นหาenvและตัวเลือกที่จำเป็นมีการระบุไว้ในรายการ
FRIdSUN

ฉันคิดว่ามันเร็วขึ้นและชัดเจนโดยการเปิดCMDและการพิมพ์setหรือและการพิมพ์PowerShell Get-Childitem env:
Paradroid

หากคุณกำลังแก้ไขตัวแปรพา ธ จำนวนมาก (เช่นเมื่อตั้งค่าระบบใหม่) มันอาจช่วยให้มีทางลัดไปยังกล่องโต้ตอบคุณสมบัติระบบบนเดสก์ท็อป โดยคลิกขวาที่เดสก์ท็อปเลือก New Shortcut แล้วป้อน systempropertiesadvanced.exe จากนั้นคุณสามารถคลิกที่ลิงค์เพื่อไปยังกล่องโต้ตอบคุณสมบัติของระบบจากนั้นคลิกที่ตัวแปรสภาพแวดล้อมเพื่อไปที่กล่องโต้ตอบด้วยการตั้งค่าเส้นทาง
Brian Burns

คำตอบ:


334

ตัวแปรสภาพแวดล้อมคืออะไร

ตัวแปรสภาพแวดล้อมเก็บค่าที่เกี่ยวข้องกับสภาพแวดล้อมปัจจุบันเช่นระบบปฏิบัติการหรือเซสชันผู้ใช้

เส้นทาง

หนึ่งในสิ่งที่รู้จักกันดีที่สุดเรียกว่าPATHบน Windows, Linux และ Mac OS X มันระบุไดเรกทอรีที่โปรแกรมปฏิบัติการ * ตั้งอยู่บนเครื่องที่สามารถเริ่มต้นได้โดยไม่ต้องรู้และพิมพ์เส้นทางทั้งหมดไปยังไฟล์บนบรรทัดคำสั่ง . (หรือใน Windows กล่องโต้ตอบเรียกใช้ในเมนูเริ่มหรือWin+ R)

บน Linux และ Mac OS X นั้นโดยปกติจะมีทั้งหมดbinและsbinไดเรกทอรีที่เกี่ยวข้องกับผู้ใช้ปัจจุบัน ใน Windows มันมีอย่างน้อยC:\WindowsและC:\Windows\system32ไดเรกทอรี - นั่นเป็นเหตุผลที่คุณสามารถเรียกใช้ calc.exeหรือnotepad.exeจากบรรทัดคำสั่งหรือเรียกใช้โต้ตอบ firefox.exeแต่ไม่ (Firefox อยู่ในC:\Program Files\Mozilla Firefoxสำหรับข้อมูลเกี่ยวกับวิธีรวม Firefox ไปที่นี่ )

ตัวอย่างเช่นการพิมพ์calc( .exe สามารถละเว้น) ในบรรทัดคำสั่งบน Windows จะเริ่ม Windows Calculator

* คุณสามารถเพิ่มการสนับสนุนสำหรับไฟล์นามสกุลอื่น ๆ นอกเหนือจากการแก้ไข.exe%PATHEXT%

อื่น ๆ

ตัวแปรอื่น ๆ อาจบอกโปรแกรมว่าใช้เทอร์มินัลชนิดใด ( TERMบน Linux / Mac OS X) หรือบน Windows ที่มีโฟลเดอร์ Windows อยู่ (เช่น%WINDIR%เป็นC:\Windows)

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

ใน Windows, Linux และ Unix เป็นไปได้ที่จะสร้างตัวแปรสภาพแวดล้อมใหม่ซึ่งจะมีการกำหนดค่าให้กับทุกโปรแกรมเมื่อเปิดตัว

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

 

ของ windows

GUI

  1. Control Panel » System » Advanced » Environment Variablesเปิด

  2. ประเภทcontrol sysdm.cpl,,3ในกล่องโต้ตอบ Run ( Win+ R) Environment Variablesและคลิก
    สำหรับการแก้ไขตัวแปรผู้ใช้คุณยังสามารถพิมพ์

    %windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
    

    ในกล่องโต้ตอบ Run

  3. คลิกขวาคอมพิวเตอร์ (ของฉัน) และคลิกที่ Properties หรือเพียงแค่กด+ WinBreak

    • ใน XP Advanced » Environment Variablesคลิก
    • ใน Vista + Advanced system settings » Environment Variablesคลิก
  4. มีวิธีอื่น ๆ อีกมากมายในการเข้าถึงสถานที่เดียวกันเช่นโดยการพิมพ์ "ตัวแปรสภาพแวดล้อม" ในเมนูเริ่ม / กล่องค้นหาหน้าจอเป็นต้น

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

นอกจากนี้ยังมีRapid Environment Editorซึ่งช่วยในการตั้งค่าและเปลี่ยนแปลงตัวแปรสภาพแวดล้อมใน Windows โดยไม่จำเป็นต้องเจาะลึกการตั้งค่าระบบ โปรแกรมแหล่งอื่นเปิดให้บริการสำหรับ Windows ด้วยสภาพแวดล้อมเส้นทางที่สามารถแก้ไขได้อย่างสะดวกเป็นบรรณาธิการเส้นทาง

บรรทัดคำสั่ง

รูป

ตัวแปรสภาพแวดล้อมใน Windows แสดงด้วยเครื่องหมายเปอร์เซ็นต์ (%) ล้อมรอบชื่อ:

%name%

เสียงสะท้อน

เพื่อแสดงค่าตัวแปรสภาพแวดล้อมในการพิมพ์cmd.exeecho %name%

C:\>echo %USERPROFILE%
C:\Users\Daniel

ชุด

ในการสร้าง / ตั้งค่าตัวแปรให้ใช้set varname=value:

C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures

C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2

ในการผนวก / เพิ่มตัวแปรให้ใช้set varname=value;%varname%:

C:\>set Penguins=C:\Linux

C:\>set Penguins=C:\Windows;%Penguins%

C:\>echo %Penguins%
C:\Windows;C:\Linux

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

setX

หากต้องการสร้าง / ตั้งค่าตัวแปรอย่างถาวรให้ใช้setx varname "value":

C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"

[Restart CMD]

C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures

แตกต่างจากsetไม่มีเครื่องหมายเท่ากับและค่าควรอยู่ในเครื่องหมายคำพูดหากมีช่องว่างใด ๆ โปรดทราบว่าตัวแปรอาจขยายเป็นสตริงที่มีช่องว่าง (เช่น%PATH%กลายเป็นC:\Program Files) ดังนั้นจึงเป็นการดีที่สุดที่จะรวมเครื่องหมายคำพูดรอบค่าที่มีตัวแปรใด ๆ

คุณต้องเพิ่มsetxWindows เวอร์ชันก่อนหน้า Vista ด้วยตนเอง
เครื่องมือสนับสนุน Windows XP Service Pack 2

รายการตัวแปรสภาพแวดล้อมของ Windows

นี่คือรายการของตัวแปรสภาพแวดล้อมเริ่มต้นซึ่งสร้างไว้ใน Windows ตัวอย่างบางส่วน: %WINDIR%, %SystemRoot%, และ%USERPROFILE% %APPDATA%เช่นเดียวกับชื่อส่วนใหญ่ใน Windows ชื่อเหล่านี้จะไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก

 

อนุพันธ์ Unix (FreeBSD, GNU / Linux, OS X)

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

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

การตั้งค่าตัวแปร

ไฟล์เหล่านี้เป็นเชลล์สคริปต์ปกติและสามารถมีได้มากกว่าการประกาศตัวแปรสภาพแวดล้อม exportในการตั้งค่าตัวแปรสภาพแวดล้อมใช้ หากต้องการแสดงตัวแปรสภาพแวดล้อมของคุณกำหนดไว้ในปัจจุบันใน terminal envรัน

exportคำสั่งเป็นวิธีมาตรฐานในการกำหนดตัวแปร ไวยากรณ์ใช้งานง่ายมาก ผลลัพธ์จะเหมือนกันสำหรับสองบรรทัดนี้ แต่ตัวเลือกแรกเป็นสิ่งที่ดีกว่าในกรณีที่จำเป็นต้องพกพาไปยังเชลล์เป้าหมาย POSIX ล่วงหน้า

var=value; export var
export var=value

C เชลล์และลูกหลานของมันใช้ไวยากรณ์ที่แตกต่างอย่างสิ้นเชิง setenvมีคำสั่งคือ

ดูโครงการเอกสาร Linux, Path HOWTOสำหรับการสนทนาอย่างละเอียดมากขึ้นในหัวข้อนี้

บางทีตรงกันข้ามกับความเชื่อทั่วไป OS X เป็น "Unix" มากกว่า Linux นอกจากไฟล์ที่กล่าวถึงแล้ว $ PATH สามารถแก้ไขได้ในไฟล์เหล่านี้:

  • /etc/pathsมีทุกไดเรกทอรีเริ่มต้นที่มีการเพิ่มเส้นทางเช่นและ/bin/usr/sbin
  • ไฟล์ใด ๆ ใน/etc/paths.d- โปรแกรมติดตั้งที่ใช้โดยทั่วไปเพื่อให้ไฟล์ที่สามารถใช้งานได้ซึ่งให้บริการจากเชลล์โดยไม่ต้องสัมผัสไฟล์กำหนดค่าทั้งระบบหรือเฉพาะผู้ใช้ ไฟล์เหล่านี้มีหนึ่งพา ธ ต่อบรรทัด เช่น / Programs / Mozilla / Calendar / bin

 

ลิงค์จากภายนอก:

ตัวแปรสภาพแวดล้อมใน XP
เครื่องมือสนับสนุนของ Windows XP Service Pack 2 (รวมsetx)
ตัวแปรสภาพแวดล้อมใน Windows Vista และ Windows 7 การ
เพิ่มไฟล์ปฏิบัติการในกล่องโต้ตอบเรียกใช้
เคล็ดลับ Mac OSX - การตั้งค่าตัวแปรสภาพแวดล้อม
TLDP: เส้นทางวิธีการ


10
ใน Windows Vista เป็นต้นไปคุณสามารถใช้SETXเพื่อทำการเปลี่ยนแปลงแบบถาวร มันมีไวยากรณ์ที่แตกต่างกันเล็กน้อย SETXจะต้องมีการเพิ่มจากรุ่นก่อนหน้านี้Windows Server 2003 Resource Kit NT
Paradroid

1
@paradroid Nice ไม่รู้ว่า (ไม่ใช่ผู้ใช้ Windows) หัวข้อนี้เป็นวิกิชุมชนคุณสามารถไปข้างหน้าและแก้ไขข้อมูลนั้นได้
Daniel Beck

2
@JdeBP ชื่อส่วนหมายถึงการอ้างอิงถึงวิธีการตั้งค่าเหล่านี้บนอินเตอร์เฟซผู้ใช้ที่เรียกว่าเปลือกบน Windows ในทางตรงกันข้ามกับส่วนต่อไปนี้ติดต่อบรรทัดคำสั่ง ฉันแก้ไขมันก่อนที่ฉันจะเห็นความคิดเห็นของคุณเมื่อ 10 ชั่วโมงที่แล้ว ไม่มีใครเคยเอ่ยถึงสิ่งนี้ว่าใช้กับ Explorer ได้เท่านั้น
Daniel Beck

1
@JdeBP คำตอบที่คุณเชื่อมโยงกับใช้ไม่ได้จริง ๆ ในกรณีนี้เนื่องจากคุณได้พูดคุยเกี่ยวกับการตั้งค่าในรีจิสทรี การตั้งค่าผ่านกล่องโต้ตอบจะออกอากาศที่WM_SETTINGCHANGEฉันจินตนาการดังนั้นจึงแจ้งผู้ที่สนใจเกี่ยวกับค่าใหม่ นั่นเป็นเหตุผลที่ฉันถามว่ามันใช้ได้อย่างไรที่นี่ การทำสิ่งที่เป็นตัวหนาไม่ได้เปลี่ยนความหมายและไม่ทำให้เข้าใจง่ายขึ้นเช่นเดียวกับการทำซ้ำประโยคเดียวกันดังขึ้นเท่านั้น นอกจากนี้ฉันแก้ไขโพสต์นี้เมื่อไม่กี่ชั่วโมงก่อนเพื่อกล่าวถึงเฉพาะว่าค่าที่กระบวนการได้รับนั้นถูกตั้งค่าเมื่อพวกเขาเปิดตัว
Daniel Beck

3
@JdeBP คุณอาจสังเกตเห็นว่าคำถามนั้นค่อนข้างธรรมดา อธิบายอย่างละเอียดถึงความสลับซับซ้อนของการเปลี่ยนแปลงของตัวแปรสภาพแวดล้อม (อย่างจริงจังWM_SETTINGCHANGEWindows API นี่ไม่ใช่ผู้ชมของคำถาม!) อาจไม่ใช่ความคิดที่ดีเพราะมันอาจทำให้ผู้อ่านสับสนแทนที่จะอธิบายว่าตัวแปรเหล่านี้เกี่ยวกับอะไร .
Daniel Beck

64

โพสต์นี้มาจากมุมมองทางเทคนิคมากกว่ามุมมองของ Daniel แต่ไม่ได้อธิบายแนวคิดมากเท่าที่ควร


บทความวิกิพีเดียยังเป็นอ้างอิงที่ดีเยี่ยม

Linux และ BSD ส่วนใหญ่

ในเชลล์บรรทัดรับคำสั่งส่วนใหญ่ตัวแปรสภาวะแวดล้อมชั่วคราวถูกตั้งค่าโดยใช้คำสั่งexport(sh, bash, zsh) หรือsetenv(csh, tcsh)

  • ตัวอย่างสำหรับการเติม$HOME/binเพื่อเป็น$PATHbash หรือ zsh:

    export PATH="$HOME/bin:$PATH"
    

    (ในกรณีexportนี้ไม่จำเป็นเนื่องจากPATHเป็นส่วนหนึ่งของสภาพแวดล้อมไปแล้ว)

  • csh, tcsh:

    setenv PATH "$HOME/bin:$PATH"
    

ตัวแปรสภาพแวดล้อมแบบถาวรสามารถตั้งค่าได้ในหลายขั้นตอน:

  • เข้าสู่ระบบ:

    • การตั้งค่าเซสชันการเข้าสู่ระบบ: Linux pam_envซึ่งโดยปกติจะอ่านจาก/etc/environment

    • ล็อกอินเทอร์มินัล: ไฟล์ "โปรไฟล์" ของเชลล์

      • bashใช้และเป็นครั้งแรกหนึ่ง:/etc/profile , , หน้าคู่มือส่วนการภาวนา~/.bash_profile~/.bash_login~/.profilebash(1)

        บ่อยครั้งที่ไฟล์โปรไฟล์ของผู้ใช้มีการโทร~/.bashrcด้วยเช่นกัน

      • zsh: หน้าคู่มือการใช้งานzsh(1)ส่วนเริ่มต้นไฟล์ / ปิด

      • csh และ shells อื่น ๆ : ดูหน้าคู่มือ apropriate

    • การเข้าสู่ระบบแบบกราฟิก: ไม่แน่ใจ อาจแตกต่างกันไปขึ้นอยู่กับตัวจัดการเข้าสู่ระบบ GDM ดูเหมือนจะอ่าน~/.profileในระบบของฉัน

  • การเปิดหน้าต่างเทอร์มินัล:

    • bashใช้/etc/bash.bashrcและ~/.bashrc.

ชุด Windows NT

  • ใน Command Prompt ( cmd.exe) ใช้set name=valueเพื่อเปลี่ยนตัวแปรสภาพแวดล้อมสำหรับหน้าต่างนั้น

    หากต้องการผนวกc:\binให้%PATH%ใช้:

    set path=%path%;c:\bin
    

    สิ่งนี้มีผลต่อcmd.exeกระบวนการนั้นและกระบวนการใหม่ใด ๆ ที่เปิดตัวจากมัน

  • เพื่อให้การเปลี่ยนแปลงถาวรใช้แผงควบคุม→ระบบ→ขั้นสูง→ตัวแปรของสภาพแวดล้อม ( เอกสาร )

    หมายเหตุ:ในขณะที่การตั้งค่าผู้ใช้โดยทั่วไปจะแทนที่ระบบ แต่PATHตัวแปรจะได้รับการจัดการเป็นพิเศษ: ทั้งการตั้งค่าระบบและผู้ใช้จะถูกรวมเข้าไปในค่าสุดท้าย

    การเปลี่ยนแปลงจะถูกเก็บไว้ใน Registry (ดูด้านล่าง) และนำไปใช้กับกระบวนการใหม่ทั้งหมดที่สร้างโดย Explorer (เชลล์แบบกราฟิก) ทันทีผ่านทางเมนูเริ่ม

  • ตัวแปรสภาพแวดล้อมทั่วทั้งระบบจะถูกเก็บไว้ใน Registry HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentและโหลดเมื่อบูตระบบ

    สภาพแวดล้อมของผู้ใช้จะถูกเก็บไว้ในHKCU\Environmentและโหลดระหว่างการเข้าสู่ระบบของผู้ใช้

  • ตามค่าเริ่มต้นระบบจะค้นหาsetคำสั่งในAUTOEXEC.NTไฟล์ด้วย

MS-DOS, Windows 16 บิต, Windows 9x ซีรี่ส์

  • ใน MS-DOS Prompt ( command.com) ให้ใช้set name=valueเช่นเดียวกับใน WinNT

    ในทำนองเดียวกันการรันsetแบบโต้ตอบจะมีผลกับcommand.comอินสแตนซ์เดียวพร้อมกับกระบวนการใหม่ที่เปิดตัวจากมัน

  • หากต้องการทำการเปลี่ยนแปลงแบบถาวรให้เพิ่มหรือแก้ไขsetบรรทัดapropriate ในC:\AUTOEXEC.BATจากนั้นรีบูต

    • วิธีหลีกเลี่ยงปัญหาสำหรับการรีสตาร์ทสำหรับ Windows 9x: เปิดหน้าต่าง MS-DOS Prompt, ตั้งค่าตัวแปร apropriate ปิดกระบวนการ Explorer ที่มีอยู่ ( เริ่ม→ปิด →→ขณะกด Ctrl + Shift ค้างไว้คลิกยกเลิก ) เรียกใช้explorer.exeจากหน้าต่าง MS-DOS Prompt .

VMS

(ไม่สามารถต้านทานได้)

DCL ไม่มีแนวคิดของ "เส้นทาง" แต่สามารถใส่สัญลักษณ์และคำสั่งต่าง ๆSYS$LOGIN:LOGIN.COMได้


2
ส่วน VMS ไม่ถูกต้อง DCL มีDCL$PATHไว้สำหรับ " คำสั่งต่างประเทศอัตโนมัติ "
JdeBP

9

สำหรับตัวแปรสภาพแวดล้อมbashเชลล์PATHโกลบอล (ไม่ใช่เทอร์มินัล) ฉันทำตามข้อตกลงที่ใช้ในการติดตั้ง Ubuntu VM ของฉัน - เชลล์อื่น ๆ จะแตกต่างกันไป:

ข้อแม้: เปลือกทั้งลำดับเริ่มต้นขึ้นซึ่ง.bashrc, .profileฯลฯ ไฟล์จะ sourced ตัวแปรในการสั่งซื้อ ?, เมื่อไหร่ฉันจะต้องกลับเข้าสู่ระบบที่จะได้รับการมองเห็นในการกำหนดใหม่, นามแฝง ฯลฯ ?, สิ่งที่แตกต่างระหว่างการเข้าสู่ระบบที่ เชลล์แบบโต้ตอบและแบบไม่มีการโต้ตอบ - ฉันใช้งานcronอย่างไรและทำไมเมื่อฉันทำ. ~/.bashrcคือPATHตัวแปรที่โง่ของฉันเติบโตขึ้นเรื่อย ๆ ? เป็นคำถามสำคัญที่นึกถึงเมื่อฉันคิดถึงPATHตัวแปรของฉัน

ในความเป็นจริงฉันเพิ่งเขียนไฟล์เริ่มต้นทุบตีใหม่ทั้งหมดโดยใช้แนวคิดจากไฟล์ Ubuntu และโครงกระดูก cygwin และนี่คือบางส่วนของไซต์ของฉัน:

  1. ส่งออกPATHและตัวแปรสภาพแวดล้อมส่วนกลางอื่น ๆ (เช่นLD_LIBRARY_PATH) ตัวแปรใน.profile;
  2. ใช้ตรรกะใน~/.profileแหล่งที่มา$HOME/.bashrcถ้ามีอยู่;
  3. การดำเนินการของรั้ว~/.bashrcด้วยการทดสอบสำหรับการดำเนินการแบบโต้ตอบออกจากอย่างอื่น;
  4. ใส่นามแฝงทั้งหมดshopt, การตั้งค่าที่รวดเร็ว, การควบคุมประวัติ, การตั้งค่าเทอร์มินัล, คำจำกัดความของฟังก์ชั่น ฯลฯ (การตั้งค่าแบบโต้ตอบที่เกี่ยวข้อง) ในส่วนของ~/.bashrcการป้องกันที่จะทำงานในโหมดการโต้ตอบเท่านั้น
  5. กำจัดไฟล์เริ่มต้น bash อื่น ๆ เนื่องจากการมีอยู่ของพวกเขาจะกำหนดว่าเส้นทางการควบคุมผ่าน.profileและ.bashrcทำงานตามที่คาดไว้หรือไม่ นั่นคือยกเว้นว่ามีข้อกำหนดเฉพาะในการทำเช่นนั้นให้ลบ~/.bash_profile& ~/.bash_login;
  6. เมื่อฉันอยู่ที่พรอมต์ bash และฉันจำเป็นต้องอัปเดตการตั้งค่าเริ่มต้นบางอย่างฉันแก้ไข~/.bashrcไฟล์ของฉันจากนั้นเพียงแค่ส่งไฟล์นั้นด้วย a . ~/.bashrcเพื่อรับการเปลี่ยนแปลงเหล่านั้นในเชลล์ปัจจุบันของฉัน
  7. เมื่อผมทำการเปลี่ยนแปลงตัวแปรสภาพแวดล้อมเช่นPATHผมจำเป็นต้องปรับเปลี่ยนและแหล่งที่มาของฉัน~/.profile;
  8. ฉันใส่สายของฉันไป fink .profileพอร์ตและชงตั้งค่าที่ระบุใน

นั่นคือ 2 เซ็นต์ของฉันในหัวข้อนี้


7

ถาม: ตัวแปรสภาพแวดล้อมคืออะไร

ตอบ:ตัวแปรสภาพแวดล้อมคล้ายกับตัวแปรในภาษาการเขียนโปรแกรมใด ๆ ในกรณีของระบบ Windows หรือ Unix พวกเขากำลังเก็บค่าต่าง ๆ เพื่อให้โปรแกรมและงานต่างๆได้รับข้อมูลระบบปฏิบัติการที่จำเป็นหรือข้อมูล 'สภาพแวดล้อม' ตัวอย่างเช่น:

USERPROFILE: ไดเรกทอรีผู้ใช้ภายในไฟล์ OS

MAIL: ตำแหน่งที่จะพบเมลของผู้ใช้ในไฟล์ OS

ถาม: ตัวแปร PATH คืออะไรโดยเฉพาะ?

ตอบ:ตัวแปร PATH ตั้งค่าพา ธ ของไดเรกทอรีให้ค้นหาเมื่อคำสั่งถูกเรียกใช้ทั้งสำหรับคำสั่ง RUN และสำหรับการโทรภายในจากโปรแกรม สิ่งนี้จะป้องกันไม่ให้โปรแกรมจำเป็นต้องทราบตำแหน่งการติดตั้งเพื่อเรียกกระบวนการที่ดำเนินการได้อื่น ๆ

ดูเหมือนกับตัวแปร PATH ของ Windows Environment System และทดสอบแต่ละตำแหน่งสำหรับการปฏิบัติการที่กำหนด ดังนั้นการเพิ่มตำแหน่งให้กับตัวแปร PATH ทำให้สามารถเรียกใช้ไฟล์ปฏิบัติการได้โดยตรง

ตามบทความ Wikipedia นี้ :

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


ถาม: จะเพิ่มตำแหน่งไปยังตัวแปร PATH ได้อย่างไร

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

วิธีหนึ่งในการทำเช่นนี้อธิบายไว้ที่นี่ :

  1. เปิดเมนู Start แล้วคลิกขวาที่ Computer เลือกคุณสมบัติ
  2. เลือกการตั้งค่าระบบขั้นสูง
  3. ในแท็บขั้นสูงเลือกตัวแปรสภาพแวดล้อม
  4. เลือกแก้ไขหรือใหม่ (สำหรับ PATH คุณมักต้องการแก้ไข)
  5. เพิ่มเส้นทางตำแหน่งของคุณ เช่น:C:\wamp\bin\php\php5.5.12;

ฉันหวังว่านี่จะทำให้เกิดความสับสนบ้าง

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