ฉันจะป้องกันการเคลียร์เอาต์พุตเทอร์มินัลได้อย่างไรเมื่อฉัน“ ออกจาก” เซสชัน SSH


23

นี่คือสถานการณ์: ฉันเปิดเทอร์มินัลใน Ubuntu และทำssh host-1ซึ่งทำงานได้ตามที่คาดไว้ จาก host-1 ฉันใช้ssh host-2งานได้ดีและเชื่อมต่อฉันกับ host-2 อีกครั้ง จาก host-2 ฉันทำเช่นecho "blah"ซึ่งพิมพ์blahไปที่หน้าจอ ปัญหา: ถ้าฉันทำexit, หน้าจอจะถูกล้างและฉันเหลือเพียงต่อไปนี้:

Connection to host-2 closed.
myusername$

ฉันจะป้องกันการลบเอาต์พุตจากหน้าจอที่สร้างโดยคำสั่งที่รันบน host-2 (เช่นblahฯลฯ ) ได้อย่างไรหลังจากฉันexitกลับไปที่ host-1

การดีบักบางอย่างที่ฉันทำไปแล้ว: ฉันมีเพื่อนลงชื่อเข้าใช้ host-1 และ host-2 ตรงตามข้างบนและเมื่อเขาexitมาจาก host-2 หน้าจอของเขาจะไม่ถูกล้างออก ดังนั้นมันจะต้องเป็นสิ่งที่ต้องทำกับสภาพแวดล้อมของฉัน ... ใช่มั้ย ความคิดใด ๆ ที่อาจเป็นได้?

ฉันได้ลองทำสิ่งนี้โดยใช้ PuTTY ใน Windows XP และจากเทอร์มินัลใน Ubuntu - พฤติกรรมเดียวกันโดยไม่คำนึงถึง

คำตอบ:


25

ตรวจสอบ ~/.bash_logout

มันอาจมีclearคำสั่ง แสดงความคิดเห็นออกมาว่า

นอกจากนี้ในเทอร์มินัลจำนวนมาก (เช่นgnometerm) คุณสามารถเลื่อนกลับขึ้นมาและดูว่า "เคลียร์" คืออะไร


ใช่มันอยู่ใน ~ / .bash_logout ขอบคุณ :)

2

คุณระบุ Ubuntu แต่เพื่อประโยชน์ของผู้อื่นถ้า Cygwin ที่ได้รับการปรับปรุงล่าสุดแก้ไข/etc/bash.bash_logoutและแสดงความคิดเห็นต่อไปนี้:

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear ] && /usr/bin/clear
fi

การอัพเดตในอนาคตจะไม่เขียนทับไฟล์หากมีการแก้ไข

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