ฉันจะแก้ไข $ PATH บน linux ได้อย่างไร


44

ฉันใช้อูบุนตู 9.04 ฉันต้องเพิ่มโฟลเดอร์ลงใน $ PATH ของฉัน ฉันรู้วิธีอ่านเส้นทาง:

echo $PATH

ฉันต้องการที่จะสามารถแก้ไขได้และเพิ่ม 2 เส้นทางอื่น ๆ

ขอบคุณ


2
เมื่อคุณสามารถทำสิ่งนี้ได้แล้วคุณอาจต้องการดำเนินการที่ซับซ้อนยิ่งขึ้นบน PATH: stackoverflow.com/questions/273909/…
dmckee

เป็นเว็บไซต์ Unix หรือ Ubuntu
โธมัสแบรตต์

คำตอบ:


42

ในการจัดเก็บเส้นทางของคุณอย่างถาวรคุณมีตัวเลือกน้อย

ฉันขอแนะนำให้คุณอ่าน wiki ชุมชน Ubuntu บนEnvironment Variablesแต่คำตอบสั้น ๆ คือสถานที่ที่ดีที่สุด~/.profileสำหรับการตั้งค่า PATH ต่อผู้ใช้หรือ/etc/profileการตั้งค่าทั่วโลก

ทำอะไรที่ชอบ export PATH=$PATH:/your/new/path/here


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

14
PATH=$PATH:newPath1:newPAth2
export PATH

3
ฉันคิดว่าคุณสามารถทำได้ทั้งหมดในบรรทัดเดียวถ้าคุณต้องการ ส่งออก PATH = $ PATH: newPath1: newPAth2

2
ขึ้นอยู่กับเชลล์ที่คุณใช้ บน Solaris (ฉันรู้ว่าคำถามเกี่ยวกับ Linux) หนึ่งใน shells (จำไม่ได้ว่าอันไหนอยู่เหนือหัวของฉัน) ต้องการให้คุณทำการเอ็กซ์พอร์ตแยกจากการตั้งค่าในสคริปต์ ดังนั้นฉันเพิ่งได้รับเป็นนิสัยในการทำมันใน 2 บรรทัด
เกลน

7

คุณสามารถใส่สิ่งนี้ลงในสภาพแวดล้อมแบบโกลบอล:

sudo emacs /etc/environment

ต่อท้ายรายการที่อยู่ในเส้นทางของคุณ

PATH="/path/to/file:/other/paths"

โหลดสภาพแวดล้อม

source /etc/environment

1
การแก้ไขไฟล์สภาพแวดล้อมเป็นวิธีเดียวที่ฉันสามารถทำให้ PATH เปลี่ยนและเปลี่ยนแปลงได้

2

มันได้รับคำตอบแล้วว่าจะทำอย่างไร แต่ฉันต้องการให้คำแนะนำเล็กน้อย นี่คือสิ่งที่ฉันทำ:

ฉันมีไดเรกทอรีที่เรียกว่า.bash.dของฉัน$HOMEและภายในที่ฉันเก็บชุดของเชลล์สคริปต์ที่ทำสิ่งต่าง ๆ ให้กับสภาพแวดล้อมของฉัน (ตัวอย่างเช่นการตั้งค่า maven อย่างถูกต้องปรับเปลี่ยนเส้นทางตั้งค่าของฉันพร้อมท์ ฯลฯ ) ฉันรักษามันไว้ภายใต้การควบคุมเวอร์ชันโดยใช้gitซึ่งทำให้ง่ายต่อการย้อนกลับไปยังเวอร์ชันที่ใช้งานได้ของ env ของคุณหากคุณทำอะไรผิดพลาดขึ้น ในการรับการแก้ไขทั้งหมดฉันเพียงแค่จัดหาไฟล์ทั้งหมดใน dir นั้นในตอนท้ายของ. bashrc ของฉันดังนี้:

for i in $HOME/.bash.d/*; do source $i; done
unset i

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


1

ตัวแปรจากด้านบนหากคุณไม่ต้องการเปลี่ยนไฟล์ / etc / profile โดยตรง คุณสามารถสร้างไฟล์ใหม่yourpath.shใน /etc/profile.d/ ไดเรกทอรี จากนั้นแก้ไขไฟล์นี้แบบนั้น ด้วยเครื่องมือแก้ไข vim (แต่สามารถแก้ไขได้ด้วยเครื่องมือแก้ไขอื่น): vim /etc/profile.d/yourpath.sh

MYPATH='/your/new/path/'
export MYPATH
export PATH=$PATH:$MYPATH

: w rite และq uit และมันทำเส้นทางของคุณได้รับการแก้ไข หากคุณกำลังใช้งานเทอร์มินัลให้ปิดและเปิดใหม่ ตัวแปรใหม่ของคุณจะได้รับการอัพเดต ตอนนี้สะอาดแล้วคุณสามารถลบไฟล์นี้เมื่อคุณไม่ต้องการใช้อีกต่อไปและไม่รบกวนการกำหนดค่าเริ่มต้น


(1) ตราบใดที่PATHมีการส่งออกMYPATHไม่จำเป็นต้องเป็น (เว้นแต่คุณต้องการเพื่อวัตถุประสงค์อื่น) (2) วิธีที่รวดเร็วในการบันทึก (เขียน) และออกในเสียงเรียกเข้าคือZZ- ไม่จำเป็น:หรือ (เข้า)
สกอตต์

0

echo PATH = $ PATH: path1: path2> tmp

แก้ไขไฟล์ tmp ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบเพื่อให้ค่าของ PATH เป็นสิ่งที่คุณต้องการ

. ./tmp

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