ไม่ได้ระบุไว้ในคำถามหากคุณต้องการให้สิ่งนี้ดำเนินการบนเครื่องโลคัลหรือรีโมต มันไม่ได้ระบุว่าเชลล์ตัวใดมีอยู่ในเครื่องทั้งสองดังนั้นฉันเลยสมมุติว่าbash
ทั้งสอง
หากคุณต้องการดำเนินการบนเครื่องระยะไกลให้ดูที่~/.bash_logout
จะดำเนินการเมื่อเปลือกเข้าสู่ระบบออกจากระบบอย่างสง่างาม จากman bash
:
เมื่อล็อกอินเชลล์ออก bash จะอ่านและดำเนินการคำสั่งจากไฟล์~/.bash_logout
หากมีอยู่
คุณสามารถทำการทดสอบ~/.bash_logout
เพื่อตรวจสอบว่าเชลล์ที่ถูกล็อกเอาต์เป็นเซสชั่น SSH หรือไม่สิ่งต่อไปนี้ควรใช้งานได้:
if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
# commands go here
fi
ssh
หากคุณต้องการที่จะดำเนินการได้ในเครื่องท้องถิ่นสร้างฟังก์ชั่นห่อหุ้มรอบ สิ่งต่อไปนี้ควรใช้งานได้:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
นั่นอาจจะง่ายเกินไปสำหรับความต้องการของคุณ แต่คุณได้รับความคิด