โหลดไฟล์. profile ของ bash ใหม่โดยไม่ต้องออกจากระบบและกลับเข้ามาใหม่อีกครั้ง


81

เป็นไปได้หรือไม่ที่จะบีบบังคับให้ bash โหลดไฟล์. profile โดยไม่ต้องออกจากระบบและกลับเข้ามาใหม่อีกครั้ง?

คำตอบ:


102

สิ่งนี้ควรใช้ได้กับเทอร์มินัลปัจจุบัน:

. ~/.profile

.เป็นbashbuiltin และคำพ้องความหมายสำหรับsourceดูman bash:

. ชื่อไฟล์ [ อาร์กิวเมนต์ ] ชื่อไฟล์
ต้นฉบับ[ อาร์กิวเมนต์ ]      อ่านและดำเนินการคำสั่งจากชื่อไฟล์ในสภาพแวดล้อมเชลล์ปัจจุบัน (…)


18
จะมีผลเฉพาะในเทอร์มินัลปัจจุบัน
enzotib

@enzotib มีวิธีแก้ไขไหม?
Matty

14
@ Matty: ไม่เพื่อให้การเปลี่ยนแปลงสามารถมองเห็นได้กับสภาพแวดล้อมแบบกราฟิกทั้งหมดคุณสามารถรีสตาร์ทเซสชั่นเท่านั้น
enzotib

2
ปัญหาเดียวของเรื่องนี้คือถ้าคุณลบบางสิ่งออกจากเส้นทางมันจะไม่มีผลจนกว่าคุณจะรีสตาร์ท
Aras

1
@Aras ทำให้เป็นจุดสำคัญที่สมควรได้รับการขยายตัว: ถ้าเป็นสิ่งที่ถูกลบออกจาก~/.profileการเปลี่ยนแปลงที่จะไม่ได้มีผลบังคับใช้หลังจากที่. ~/.profileโหลด ตัวอย่างเช่นเพิ่มฟังก์ชั่นไปที่~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }จากนั้น~/.profile- IT WORKS ตอนนี้ลบฟังก์ชั่น~/.profileนั้นจากนั้น. ~/.profileอีกครั้ง ฟังก์ชั่นยังคงมีอยู่ - การรีสตาร์ทเท่านั้น (ออกจากระบบ & ใน) จะลบออก
เชมัส

13

หากคุณไม่ต้องการเริ่มเชลล์ใหม่ แต่ใช้งานสคริปต์ในเชลล์ปัจจุบันคุณต้องหาแหล่ง:

source script_name.sh

source = .

Bash sourceในตัวเป็นคำพ้องสำหรับคำสั่ง Bourne shell .(dot)

มารยาท - tldp.org

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