จะรีเซ็ต $ PATH ได้อย่างไร?


14

ฉันกำลังพยายามเพิ่มบางอย่างลงใน $ PATH และมันผิดพลาดไปโดยสิ้นเชิง ตอนนี้ผมไม่สามารถเรียกใช้คำสั่งใด ๆ lsเช่น ฉันดูคำตอบนี้ และใช้บรรทัดต่อไปนี้:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

บรรทัดเหล่านี้แก้ไขปัญหาชั่วคราว อย่างไรก็ตามเมื่อฉันรีสตาร์ท terminal ดูเหมือนว่าจะลืมการเปลี่ยนแปลงเหล่านี้

ฉันจะรีเซ็ต $ PATH ของฉันอย่างถาวรได้อย่างไร

ฉันใช้ Mountain Lion เวอร์ชันล่าสุด


5
แก้ไขมัน:/bin/rm ~/.bash_profile
Nosrettap

2
คำถามที่ดี. คุณสามารถแก้ไขคำตอบของคุณได้เสมอ
bassplayer7

ยังถามในsuperuser
เกล็

1
เมื่อตระหนักว่าคุณได้แก้ไขปัญหาแล้วผู้ใช้ที่มีปัญหาคล้ายกันอาจพบความช่วยเหลือได้ที่/etc/paths
David Smith

คำตอบ:


16

คำตอบที่แนะนำในการนำออก.bash_profileไม่ใช่ความคิดที่ดี มีสิ่งอื่น ๆ ที่สามารถตั้งค่าในไฟล์นั้นนอกเหนือจากPATHคำจำกัดความ

หากคุณต้องการที่จะยกเลิกผลของการทดลองของคุณเพียงแค่ลบหรือออกความคิดเห็นที่สอดคล้องกับPATH#

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

export PATH=$PATH:$HOME/bin

แก้ไข เนื่องจากคุณPATHมีความยุ่งเหยิงคุณไม่สามารถเข้าถึงคำสั่งปกติเพื่อทำการเปลี่ยนแปลงเหล่านี้ เป็นการแก้ไขชั่วคราวคุณสามารถกำหนดพา ธ ขั้นต่ำใหม่ในหน้าต่างเทอร์มินัล (ไม่ใช่ใน.bash_profile) โดยพิมพ์:

PATH=/bin:/usr/bin

สิ่งนี้จะช่วยให้คุณสามารถเข้าถึงnano ls mv vi catและrm- เครื่องมือพื้นฐานในการตรวจสอบและแก้ไข.bash_profileและแก้ไขปัญหาของคุณ ...

ทำซ้ำอย่าใส่PATHคำจำกัดความนี้ที่ใดก็ได้ยกเว้นช่วงเวลาของเซสชันในขณะที่คุณทำการแก้ไข


5

ฉันแนะนำ:

source /etc/profile

นี่คือสิ่งที่ Mac ใช้ในการตั้งค่าเส้นทางเริ่มต้นและจะนำทุกอย่างกลับมาใช้แทนที่ยกเว้นรายการที่คุณกำลังเพิ่มสำหรับผู้ใช้ของคุณ

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


3

$PATHเอารายละเอียดทุบตีคุณเพื่อเรียกคืนเริ่มต้น ป้อนคำสั่งต่อไปนี้ลงในTerminal.app :

/bin/rm ~/.bash_profile

การเปลี่ยนแปลงจะเกิดขึ้นกับเชลล์หรือเทอร์มินัลเซสชันถัดไป


ตอบตามความเห็นของผู้ถามดั้งเดิมเพื่อลบคำถามออกจากคิวที่ไม่ได้รับคำตอบ
เกรแฮมมิลน์

4
ถ้าคุณต้องการที่จะเก็บเนื้อหาอื่น ๆ ในโปรไฟล์ของคุณไว้/bin/mv ~/.bash_profile ~/bash_profileอาจเป็นเรื่องง่าย
nohillside

1
นี่เป็นคำตอบที่ง่ายที่สุดที่ฉันพบในเว็บไซต์ SE ทั้งหมด ขอบคุณ!
mr5

0

ค่าเริ่มต้นของ OSX $PATHถูกสร้างขึ้นจากเนื้อหาของ/etc/pathsไฟล์มันค่อนข้างตรงไปตรงมาเพื่อแก้ไข


1
การปรับเปลี่ยน/etc/pathsมีความเสี่ยงของการเปลี่ยนแปลงที่ได้รับการเขียนทับโดยการปรับปรุง OS X ~/binถัดไปที่ยังไม่ทำงานสำหรับเส้นทางที่ใช้งานที่เฉพาะเจาะจงเช่น
nohillside

นั่นเป็นความจริงแม้ว่าฉันมักจะจัดการกับสิ่งเหล่านั้นใน. rc ของฉันในภายหลัง ฉันยังไม่ได้/etc/pathsรีเซ็ตโดยการอัปเดต (หลายปีแล้วตั้งแต่ฉันเริ่มใช้brew)
Chris Keele

ปัจจุบันการแฮ็คข้อมูลสำรองที่ฉันหวังว่าจะทำให้ฉันไม่สามารถอัปเดตการเขียนทับในอนาคตได้
Chris Keele

0

วิธีการเหล่านี้ยอดเยี่ยม! หากคุณมีปัญหากับ zsh ให้ลบ~/.zshrcซึ่งจะเป็นการกำจัดการตั้งค่า zsh ของคุณ


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