Витончено закрийте програму з командного рядка в Mac OS X
Витончений вихід із програм зазвичай виконується за допомогою відповідного меню програми, вибравши «Вийти», але графічний інтерфейс Mac, очевидно, недоступний із командного рядка Mac OS X. Тому, коли більшість користувачів командного рядка стикаються з необхідністю вийти з програми, вони закінчити за допомогою команди 'kill', щоб завершити процес і примусово закрити програму, замість того, щоб видавати 'soft' kill.Очевидна проблема із завершенням роботи програми полягає в тому, що, хоча вона виходить із програми, ви можете втратити дані в цьому процесі, і навіть кеш відновлення сеансу може бути недостатнім для відновлення даних. Таким чином, коли це можливо, користувачам зазвичай краще елегантно вийти з програми.
Хоча це не дуже добре відомо, ви можете надіслати стандартний сигнал виходу будь-якій програмі Mac OS X GUI з командного рядка за допомогою команди osascript. Він досить простий у використанні, і саме про це ми тут розповімо.
Як елегантно закрити програми з терміналу в Mac OS X за допомогою osascript
Знову ж таки, це видасть стандартний сигнал виходу для програми, а не сигнал завершення (завершення). Це також означає, що цільова програма не буде примусово завершувати роботу, якщо є незбережені дані, без запиту користувача на введення (якщо у вас не ввімкнено налаштування автоматичного збереження для Mac OS X і програма не запитує користувача в результаті).
Основний синтаксис для надсилання стандартного сигналу виходу програмі графічного інтерфейсу в Mac OS X із терміналу такий:
"osascript -e &39;вийти з програми APPLICATIONNAME&39;"
Наприклад, щоб вийти з Календаря з командного рядка, замініть APPLICATIONNAME на «Календар»
"osascript -e &39;вийти з програми Календар&39;"
Оскільки Календар синхронізується та не має опції збереження, ви не побачите стандартне діалогове вікно збереження під час спроби закрити програму. У програмах, які мають параметри збереження, і коли в Mac OS X вимкнено автоматичне збереження, діалогове вікно збереження буде викликано як зазвичай.
Ще одна перевага використання osascript для елегантного закриття програм полягає в тому, що ви можете надати фактичну назву програми, яку набагато легше запам’ятати та трохи зручніше, ніж повністю покладатися на ідентифікаційні номери процесів, які додаються до команда kill.Зауважте, що сучасні версії Mac OS X пропонують покращену команду kill, яка є більш зручною для користувача, відому як pkill.
Ви можете використовувати це в сценарії bash, щоб закрити програми з командного рядка, або навіть змінити його, щоб він поводився подібно до трюку «Закрити всі відкриті програми» за допомогою Automator, який ми розглянули деякий час тому.