यदि आप macOS में शेल स्क्रिप्ट के प्रशंसक हैं, तो आपने शायद देखा होगा कि इसे पूरा करने के बाद कोई बेकार टर्मिनल विंडो के साथ आपको कैसे चलाएगा। आप इसे टर्मिनल सेटिंग्स से ठीक कर सकते हैं।
यदि आप लॉन्च कर रहे हैं तो यह विधि केवल तभी काम करती हैबैश के बाहर शेल स्क्रिप्ट, जैसे कि फाइंडर में उस पर क्लिक करके या प्रोग्राम खोलने के लिए एक कस्टम हॉटकी सेट करके। अन्यथा, आपको केवल कमांड प्रॉम्प्ट पर वापस ले जाया जाएगा। आप हमेशा उपयोग कर सकते हैं killall Terminal
टर्मिनल ऐप को स्क्रिप्ट के भीतर से ही बंद करने के लिए, लेकिन यह हर खुली टर्मिनल विंडो को बंद कर देगा, इसलिए यह आदर्श नहीं है।
प्रोफ़ाइल व्यवहार में इस व्यवहार को बदलें
डॉक या अपने एप्लिकेशन फ़ोल्डर से टर्मिनल ऐप खोलें, फिर कमांड + कोमा दबाकर सेटिंग्स खोलें।
सेटिंग्स विंडो में, प्रोफाइल पर स्विच करेंटैब। डिफ़ॉल्ट प्रोफ़ाइल (शीर्ष पर एक) को डिफ़ॉल्ट रूप से चुना जाना चाहिए। दाईं ओर की सेटिंग में, "शेल" टैब पर क्लिक करें और फिर "जब शेल बाहर निकलता है" ड्रॉप-डाउन मेनू पर क्लिक करें।
ड्रॉप-डाउन मेनू "विंडो को बंद न करें" के लिए डिफॉल्ट करता है, लेकिन आप इसे "क्लोज से बाहर निकलने पर बंद कर दें" को बदलना चाहेंगे।
आप इसे हर बार बंद कर सकते हैं, लेकिन यहयदि कोई प्रक्रिया एक गैर-एक्ज़िट स्थिति से बाहर निकलती है, तो भी आपको एक त्रुटि संदेश मिलेगा। ध्यान रखें कि आपको स्क्रिप्ट को स्पष्ट रूप से बाहर निकलने की आवश्यकता हो सकती है exit
सभी मामलों में इस व्यवहार को प्राप्त करने की आज्ञा दें।
यदि आप खोजक से लॉन्च कर रहे हैं, तो निकास कमांड स्वचालित रूप से स्क्रिप्ट में संलग्न है।
वैकल्पिक रूप से, iTerm का उपयोग करें
iTerm2, macOS के लिए एक लोकप्रिय टर्मिनल प्रतिस्थापन,शेल स्क्रिप्ट से बाहर निकलने पर स्वचालित रूप से विंडो बंद हो जाएगी। यदि आप पहले से ही अपने डिफॉल्ट टर्मिनल के रूप में iTerm का उपयोग करते हैं, तो आपने देखा होगा कि फाइंडर से लॉन्च की गई शेल स्क्रिप्ट अभी भी स्टॉक टर्मिनल ऐप के साथ खुली हैं। इसका मतलब है कि आपके पास अभी भी वही समस्या है जब तक आप iTerm के साथ खोलने के लिए स्क्रिप्ट सेट नहीं करते।
आप खोजक में स्क्रिप्ट पर राइट क्लिक करके और फिर "गेट इन्फो" का चयन करके स्क्रिप्ट को खोल सकते हैं।
इस स्क्रिप्ट के साथ जो भी बदलता है उसे बदलने के लिए एक ड्रॉपडाउन होगा। इसे प्रत्येक स्क्रिप्ट में इस परिवर्तन को लागू करने के लिए इसे iTerm पर सेट करें और "सभी बदलें" दबाएं।
डिफ़ॉल्ट रूप से, यदि आपके पास पहले से ही iTerm विंडो खुली है, तो यह एक अलग विंडो के बजाय एक अलग टैब में लॉन्च होगा, और ऐसा होने पर टैब अपने आप बंद हो जाएगा।