ตัวแปร PATH แบบถาวร


37

ฉันจะทำให้/media/De Soft/mongodb/binตัวแปร PATH นี้เป็นแบบถาวรได้อย่างไร

ทุกคนพูดว่า " export PATH=$PATH:media/De\ Soft/mongodb/binกับคุณ~/.profileหรือ.bashrcหรือ.zshenvขึ้นอยู่กับเปลือกของคุณ"

ผมไม่ทราบว่าสิ่งที่เป็น~/.profileหรือหรือ.bashrc .zshenvพวกเขาทำอะไรจริง

ฉันจะเพิ่มexport PATH=$PATH:my/pathไปยัง. profile / .bashrc / .zshenv ของฉันได้อย่างไร

ฉันใช้ Ubuntu 14.04 LTS 64 บิตกับเทอร์มินัลเริ่มต้น

คำตอบ:


69

พวกเขาเป็นไฟล์กำหนดค่า ทางเดียว:

  • เปิดหน้าต่างเทอร์มินัลโดยใช้Ctrl + Alt + T
  • เรียกใช้คำสั่ง gedit ~/.profile
  • เพิ่มบรรทัด

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    ที่ด้านล่างและบันทึก

  • ออกจากระบบและลงชื่อเข้าใช้อีกครั้ง

แก้ไข:

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

export PATH="$PATH:/media/De Soft/mongodb/bin"

@GunnarHjalmarsson ฉันต้องส่งออกเส้นทาง var จริง ๆ หรือไม่ อาจจะทำตามค่าเริ่มต้นในสคริปต์อื่นบ้างไหม ฉันได้ตรวจสอบโดย ~ / .profile และ PATH var อยู่ที่นั่น แต่มันไม่ได้ถูกส่งออกอย่างชัดเจน: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87

4
@ yuranos87: ​​ไม่คุณพูดถูก เมื่อแก้ไขPATHในการ~/.profileส่งออกเป็นสิ่งซ้ำซ้อนเนื่องจากPATHเป็นตัวแปรสภาพแวดล้อมแล้ว
Gunnar Hjalmarsson

คุณไม่จำเป็นต้องออกจากระบบและลงชื่อเข้าใช้อีกครั้ง source ~/.profileใช้
timbo

1
@timbo: นั่นไม่ทำให้ตัวแปรพร้อมใช้งานสำหรับกระบวนการที่เริ่มต้นแล้วในเซสชัน (ยกเว้นเทอร์มินัลปัจจุบัน)
Gunnar Hjalmarsson

1
คุณไม่จำเป็นต้องมีเครื่องหมายคำพูดในสตริงเหมือนในexport PATH="$PATH:/media/De\ Soft/mongodb/bin"? มันเป็นทางเลือกหรือไม่?
Bruno Bentzen

4

พิมพ์ข้อความต่อไปนี้ในหน้าต่างเทอร์มินัล

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

ปิดเครื่องและรีสตาร์ทคอมพิวเตอร์ พา ธ ควรมี / media / De \ Soft / mongodb / bin เมื่อคุณพิมพ์สิ่งนี้ในเทอร์มินัล:

echo $PATH

13
ใช้งานได้กับเทอร์มินัลเซสชันปัจจุบันเท่านั้น มันต้องอยู่ใน~/.profile(หรือ~/.bashrcบน GNU / Linux distros ... แม้กระทั่ง~/.bash_profile) เพื่อให้สามารถทำงานได้ในทุก ๆ โหลดคอนโซล
Alejandro Iván

ตกลง แต่เมื่อระบบรีสตาร์ทจะถูกโหลดในตัวแปรพา ธ
Nivedita Velagaleti

10
@NiveditaVelagaleti: ไม่ใช่ไม่ใช่เว้นแต่คุณจะทำให้ไฟล์ขัดข้องผ่านไฟล์ปรับแต่ง คำสั่งเทอร์มินัลไม่แก้ไขPATHอย่างต่อเนื่อง
Gunnar Hjalmarsson

2

ในการเปลี่ยนแปลงอย่างถาวรPATHคุณต้องทำการเปลี่ยนแปลง/etc/environmentไฟล์ สำรองข้อมูลก่อนที่จะแก้ไข:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

ตัวอย่างผลลัพธ์:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

เส้นทางถูกคั่นด้วย:เพื่อเพิ่มเส้นทางใหม่บอกว่าx/y/zสิ่งนี้จะ/etc/environmentมีลักษณะดังนี้:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.