รีสตาร์ท Bash โดยสิ้นเชิง


18

มีวิธีที่จะสมบูรณ์รีสตาร์ททุบตีและโหลด.bashrcและ.profileและชอบ? ฉันต้องการตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงของฉันทำงานอย่างถูกต้องหลังจากแก้ไขไฟล์เหล่านี้

คำตอบ:


32

มีมันแทนตัวเองด้วยตัวเอง

exec bash -l

โปรดทราบว่าสิ่งนี้จะไม่ส่งผลกระทบต่อสิ่งต่าง ๆ เช่น cwd หรือตัวแปรที่ส่งออก


ดี แต่ฉันต้องการทำเช่นนี้โดยเฉพาะอย่างยิ่งเพื่อตรวจสอบและดูว่าฉันPATHกำลังถูกตั้งค่าตามที่ฉันต้องการหรือPS1อื่น ๆ
Naftuli Kay

1
นำออกมาexecและคุณจะได้เปลือกที่เป็นแหล่งไฟล์ที่คุณต้องการ จากนั้นexitเมื่อคุณตรวจสอบเสร็จแล้ว
Arcege

@TK: ตัวแปรใด ๆ ที่คุณกำหนดจะมีความสำคัญเหนือกว่าตัวแปรที่เหลือจากเชลล์ก่อนหน้า
Ignacio Vazquez-Abrams

ดังนั้นสิ่งนี้จะทำงานสำหรับการเปลี่ยน Bash prompt ของฉันได้อย่างไร นั่นคือมันจะโหลด bash prompt ทุกครั้งที่ใช้
Naftuli Kay

ตราบใดที่คุณตั้งค่า$PS1ในไฟล์เริ่มต้นของ bash ใช่
Ignacio Vazquez-Abrams

9

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

เหตุผล: ฉันเห็นคนจำนวนมากล็อกตัวเองออกจากระบบเนื่องจากการพิมพ์ผิดง่ายใน. profile (หรือเช่นนั้น)


+10, เชลล์สะอาดที่คุณสามารถเปลี่ยนการแก้ไขเป็นสิ่งจำเป็น
Sardathrion - Reinstate Monica

ฉันอยู่ใน DE ดังนั้นมันไม่ควรเลวร้าย Bauhaus ใช่ระวัง
Naftuli Kay

3

หากเป้าหมายของคุณคือการอ่านไฟล์ที่ถูกแก้ไขอีกครั้งคุณไม่จำเป็นต้องรีสตาร์ท คุณสามารถหาได้ง่ายๆ

source filename

หรือ

. filename # notice the dot

โปรดทราบว่าสิ่งนี้จะไม่ทำให้คุณ "สะอาดสถานะ" ในแง่ที่ว่ามันจะไม่ล้างตัวแปรชุดหรือฟังก์ชั่นที่กำหนด ...


2
su -l yourOwnUserName

จะเปิดเปลือกสดสำหรับyourOwnUserNameผู้ใช้ที่มีการตั้งค่าทั้งหมดโหลดใหม่ นี่เป็นเชลล์อิสระเนื่องจากอ้างถึงการตั้งค่าระบบไม่ใช่เชลล์เฉพาะของคุณ นอกจากนี้ยังโหลดการตั้งค่าทั้งระบบบางอย่างที่bash -lไม่ได้ (เช่นกลุ่มผู้ใช้)


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