اگر از طرفداران اسکریپتهای شِل در macOS باشید، حتما میدانید که وقتی یک اسکریپت را اجرا میکنید، در نهایت با پنجرهی ترمینالی بیاستفاده مواجهید که باید هر بار بعد از اتمام کار به صورت دستی آن را ببندید. این مشکل را میتوانید از تنظیمات ترمینال حل کنید.
در نظر داشته باشید که این متد تنها برای اسکریپتهایی قابل اجرا است که خارج از bash اجرا شوند، مثلا با کلیک بر روی Finder یا میانبرهایی شخصی سازه شده برای باز کردن برنامه در غیر این صورت ترمینال از نو برایتان اجرا میشود. البته شما میتوانید از اسکریپت killall Terminal استفاده کنید، اما آن روش باعث میشود هر بار تمام ترمینالهای باز بر روی دستگاه بسته شود که خیلی کار درستی به نظر نمیرسد.
تغییر رفتار ترمینال از تنظیمات پروفایل
ابتدا برنامه ترمینال را از داک یا پوشه برنامهها باز کنید و سپس به با زدن کلیدهای Command+Comma به بخش تنظیمات بروید.
در پنجرهی تنظیمات که برایتان باز میشود، به برگه Profiles بروید. قائدتا پروفایل پیشفرض که در بالاترین نقطه لیست سمت چپ قرار دارد، انتخاب شده است، اگر نبود روی آن کلیک کرده و در سمت راست به برگه Shell بروید و سپس منوی باز شونده When the shell exits را باز کنید.
در حالت پیش فرض این متغیر بر روی Don’t close the window قرار داده شده که در این صورت بعد از اجرای دستور، پنجره بسته نمیشود، به همین منظور ما آن را روی Close if the shell exited cleanly میگذاریم تا بعد از اجرا، پنجره بسته شود.
البته شما میتوانید هر بار با دستور exit پنجره را بعد از اجرای اسکریپت ببندید، اما در این صورت اگر نتیجه دستور شما غیر از صفر باشد، با پیغام خطا مواجه خواهید شد.
نکته آخر اینکه اگر برنامه را از Finder اجرا کنید، دستور exit به صورت خودکار انتهای دستور قرار دارد.
انجام کار به وسیلهی iTerm
این برنامه یکی از پر طرفدارترین ترمینالها برای جایگزینی با تریمنال اصلی سیستم عامل مک است که بعد از اجرای دستور به صورت خودکار بسته میشود. البته اگر این برنامه را نصب داشته باشید میدانید که اگر شل را از طریق فایندر اجرا کنید، باز هم با ترمینال پیشفرض مواجه شده و مشکل بسته نشدن برنامه را خواهید داشت. برای حل این مشکل بر روی برنامه در فایندر کلیک راست کرده و Get Info را انتخاب کنید.
در این بخش یک منوی باز شونده وجود دارد که در آن میتوانید iTerm را انتخاب کرده و سپس روی گزینهی Change All کلیک کنید. به این ترتیب ترمینال پیش فرض شما در این بخش نیز iTerm خواهد بود.