यदि आप स्थानीय या दूरस्थ मशीन पर इसे निष्पादित करना चाहते हैं तो यह प्रश्न में निर्दिष्ट नहीं है। यह भी निर्दिष्ट नहीं है कि कौन सा शेल मशीन पर मौजूद है, इसलिए मैं bash
दोनों के लिए मान रहा हूं ।
यदि आप इसे रिमोट मशीन पर निष्पादित करना चाहते हैं, तो देखें ~/.bash_logout
, जिसे तब निष्पादित किया जाता है जब एक लॉगिन शेल इनायत से लॉग आउट होता है। से man bash
:
जब कोई लॉगिन शेल बाहर निकलता है, तो bash पढ़ता है और फ़ाइल से कमांड निष्पादित करता है ~/.bash_logout
, अगर यह मौजूद है।
आप यह जांचने के लिए एक परीक्षण कर सकते हैं कि क्या ~/.bash_logout
शेल लॉग आउट किया जा रहा है, एसएसएच सत्र है, निम्नलिखित में से कुछ काम करना चाहिए:
if [[ $SSH_CLIENT || $SSH_CONNECTION || $SSH_TTY ]]; then
# commands go here
fi
यदि आप इसे स्थानीय मशीन पर निष्पादित करना चाहते हैं, तो चारों ओर एक फ़ंक्शन आवरण बनाएं ssh
। निम्नलिखित की तरह कुछ काम करना चाहिए:
ssh() {
if command ssh "$@"; then
# commands go here
fi
}
यह आपकी आवश्यकताओं के लिए बहुत सरल हो सकता है, लेकिन आपको यह विचार मिलता है।