วิธีกำหนดค่าเริ่มต้นใหม่หน้าต่างเทอร์มินัลแทนที่จะปิดและเริ่มใหม่ได้อย่างไร


49

เมื่อฉันทำการเปลี่ยนแปลงบางอย่างกับลักษณะการทำงานของเชลล์ / ทุบตีเช่นการตั้งค่านามแฝงมีคำสั่งด่วนเพื่อกำหนดค่าเริ่มต้นใหม่หน้าต่างเทอร์มินัลแทนที่จะปิดและเปิดหน้าต่างใหม่หรือไม่?

คำตอบ:


51

หากคุณหมายถึงการโหลดการตั้งค่า. bashrc ของคุณใหม่:

source ~/.bashrc

สำหรับการพิมพ์น้อยคุณสามารถแทนที่sourceด้วยจุด:. ~/.bashrc


2
นี่คือคำถามสิ่งนี้ทำงานอย่างไรแตกต่างกันsource ~/.bashrcอย่างไร
crasic

มันไม่ได้ มองไปที่หน้าคนทุบตีคุณจะเห็นว่าคำสั่งมีการระบุว่าเทียบเท่า
Carsten Thiel

2
sourceเป็นเฉพาะทุบตี .เป็นมาตรฐานมากขึ้น ทั้งสองทำงานเหมือนกันในทุบตี
Michael Terry

1
นี่เป็นเพียงแค่โหลด PATH และตัวแปรสภาพแวดล้อมของคุณอีกครั้ง มันไม่ "รีเซ็ต" อะไรเลย @ คำตอบของ NES คือคำตอบที่ถูกต้อง
Cerin

2
สิ่งนี้จะไม่รีเซ็ตอะไรเลยหากคุณมีการอัปเดตไปยัง PATH คุณจะมีการอัปเดตเก่าและการอัปเดตใหม่
Constantin

39

นอกจากนี้ฉันพบบางอย่างใน manpage จากคำสั่งรีเซ็ต / tset

การรีเซ็ตเทอร์มินัล tset รีเซ็ต

คำสั่ง: reset

Tset เริ่มต้นเทอร์มินัล Tset ก่อนกำหนดประเภทของอาคารที่คุณใช้ การกำหนดนี้ทำได้ดังนี้โดยใช้ประเภทอาคารแรกที่พบ

ข้อได้เปรียบที่ดูเหมือนว่าจะเป็นอิสระจากเปลือกที่ใช้ ใช้ได้กับปลาที่นี่ด้วย

ดังนั้นเพื่อเริ่มต้นใหม่ขั้วใด ๆ เพียงแค่ทำ -

$ tset

หรือ

$ reset

น่าเสียดายที่นี่ก็ผิดเช่นกัน มันไม่ได้รีเซ็ตตัวแปรสภาพแวดล้อมที่มีอยู่
isarandi

9

ตัวเลือกเพิ่มเติมสำหรับexec bashคือถ้าคุณเปลี่ยน.profile(หรือ.bash_profile) คุณสามารถทำได้

$ exec bash --login

ที่จะอ่านโปรไฟล์ของคุณอีกครั้งเช่นกัน มันจะไม่เจ็บที่จะเพิ่ม-iตัวเลือกเช่นกันเพื่อบอกทุบตีอย่างชัดเจนว่านี่เป็นเชลล์แบบโต้ตอบ แต่โดยปกติแล้วสามารถหาได้ด้วยตัวเอง


สำหรับฉันมันใช้งานได้โดยไม่ต้องบริหารด้วย
Armen Sanoyan

น่าเสียดายที่ผิดเช่นกัน ตั้งค่าตัวแปรสภาพแวดล้อมแล้วยังคงอยู่ที่นั่นและไม่ได้รีเซ็ต
isarandi

6

คุณต้องแทนที่ application / shell ที่รันอยู่ด้วย instance ใหม่ เช่นถ้าคุณใช้bashเป็นเชลล์ที่คุณต้องการให้พิมพ์บรรทัดต่อไปนี้ในบรรทัดคำสั่งของคุณ ( $เป็นตัวยึดสำหรับจุดเริ่มต้นของบรรทัดคำสั่งของคุณ):

> $ exec bash

แอ็พพลิเคชัน / เชลล์ที่รันอยู่จะถูกแทนที่ด้วยอินสแตนซ์ใหม่ของbashLike เริ่มต้นจากศูนย์ การแก้ไขก่อนหน้าทั้งหมดของคุณจะหายไป

หมายเหตุ: อย่าลืมว่าแอปพลิเคชั่นเครื่องเทอร์มินัลของคุณอาจถูกโปรแกรมใหม่ คุณต้องรีเซ็ตแอปพลิเคชั่นเครื่องเทอร์มินัลด้วยตนเอง


2
"reprogrammed" หมายความว่าอย่างไร
Eliah Kagan

0

เชลล์ของคุณสามารถเรียกใช้งานได้ ดังนั้นหากคุณกำลังใช้ bash คุณสามารถโทรออกbashและถ้าคุณใช้อย่างอื่นเช่น zsh คุณก็สามารถป้อนได้zsh


0

exec sudo --login --user $USERใช้

หากคุณยังต้องการคำสั่งเข้ามาก่อนหน้านี้ disapper (รีเซ็ตเต็มรูปแบบของสถานี) รวมกับresetเป็นreset; exec sudo --login --user $USER

มีคำตอบมากมายในเว็บ แต่ส่วนใหญ่ไม่ได้ผลจริง วิธีง่ายๆในการทดสอบคือการตั้งแล้วรันคำสั่งที่คาดคะเนการตั้งค่าและทำexport SOMEVAR=42 echo $SOMEVARหากเป็น 42 สภาพแวดล้อมจะไม่ถูกรีเซ็ต

นอกจากนี้ยังมีexec -c bash -lหรือexec env -i bash -lแต่สิ่งเหล่านี้แตกหักอย่างใดตัวแปร $ HOME ไม่ได้ถูกตั้งค่าหลังจากนี้

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