मैं यह कैसे निर्धारित करूं कि कौन सी फ़ाइल लॉगिन पर एक bash कमांड को बुलाती है?


0

मैं मैक ओएसएक्स एल कैपिटन पर एक कंप्यूटर विज्ञान का छात्र हूं। मेरे दोस्त ने इसे बनाया ताकि मेरा कंप्यूटर चले say 'heil hitler' जब भी मैं टर्मिनल के एक नए उदाहरण में लॉगिन करता हूं। कहने की जरूरत नहीं है, मुझे इससे छुटकारा पाने की जरूरत है। अभी के लिए, मैंने इसे सार्वजनिक रूप से बंद रखने से रोकने के लिए / usr / bin / / / usr / bin / 0say का नाम बदल दिया है। मैंने ~ / .bash_profile, ~ / .bashrc, ~ / .login, / etc / bashrc की जाँच की है। क्या अन्य फ़ाइलें स्वतः bash लॉगिन पर चलती हैं?

इसके अलावा, मैं कैसे पता लगा सकता हूं कि वास्तव में किसी दिए गए कमांड को कौन सी कॉन्फिग फाइल कह रही है?

जवाबों:


0

उपयोग set कमांड, मैन पेज यहाँ । विशेष रूप से:

  • set -x निष्पादन से पहले, विस्तार के बाद कमांड दिखाने के लिए

  • set -v विस्तार करने से पहले, जैसे ही उन्हें पढ़ा जाता है, कमांड दिखाने के लिए

उदाहरण के लिए, सम्मिलित करें set -xv आपके ~ / .profile के शीर्ष पर और आप देखेंगे कि आपका टर्मिनल उस लाइन के बाद क्या कर रहा है। आप उस आउटपुट को कैप्चर करना चाहते हैं (या टर्मिनल से कॉपी-पेस्ट टेक्स्ट डॉक्यूमेंट में) और कुछ ऐसा कर सकते हैं grep -B 4 hitler आपको यह पता लगाने के लिए कि यह कहाँ है।


आपके जवाब के लिए धन्यवाद। डूइंग सेट -xv ने मुझे दिखाया कि मेरी ~ / .bash_profile और 'हील हिटलर' के बीच बड़ी संख्या में खाली लाइनें चल रही थीं। मेरे दोस्त ने बताया कि यह मेरे ~ / .bash_profile में नई लाइनों के एक समूह के बाद छिपा हुआ है।
Dumonu

1

कई जांच तकनीकें ध्यान में आती हैं:

  • शेल इनिट फ़ाइलों के अतिरिक्त, आपने देखा, जाँच करें ~/.profile, ~/.bash_login, तथा /etc/profile

  • प्रति-उपयोगकर्ता init फ़ाइलों के लिए, नाम बदलकर उन्हें अक्षम करने का प्रयास करें; अगर एक विशेष फ़ाइल को हटाने से यह चलता रहता है say, तो आप जानते हैं कि यह उस फ़ाइल में कुछ है। आप भी डाल सकते हैं return यह देखने के लिए कि क्या कॉल करना है, एक इनिट फ़ाइल के माध्यम से कमांडवे भाग say उस बिंदु से पहले या बाद में है।

  • आप जोड़ सकते हो set -x init फ़ाइल में, और यह शेल के कमांड को प्रिंट कर देगा क्योंकि यह उन्हें निष्पादित करता है; अनुरेखण निष्पादन को आसान बनाता है।

  • जानवर बल अपने घर फ़ोल्डर खोजें: grep -r hitler ~


0

ऐसा लगता है कि आपने पहले ही समस्या हल कर ली है, लेकिन मैंने अपने टर्मिनल शॉर्टकट की भी जांच की होगी। यह किसी भी संख्या में स्क्रिप्ट शॉर्टकट से बदला जा सकता था, AppleScript सबसे अधिक संभावना है, इस शरारत को करने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.