tell application "System Events" to tell (process 1 where it is frontmost)
click menu bar 1's menu bar item 3 -- File
end tell
Хотя это работает для простой целочисленной арифметики, bash не может работать с числами с плавающей точкой, так что если вы попробуете арифметическую операцию, которая приводит к появлению неинтегрированных чисел, то она будет неудачной. Ужасно. Бэш действительно не самый лучший инструмент для этой работы.[1120579] Нет, это невозможно. По крайней мере, без использования расширения GNOME Shell.
Вот почему. GNOME, наряду с другими рабочими столами, использует стандарт рабочего стола из (не) группы стандартов FreeDesktop. Этот конкретный стандарт называется телепатией.
По сути, Telepathy предоставляет абстрактный способ работы с чатом для сеансов рабочего стола, таких как GNOME. Таким образом, в Telepathy клиент Telepathy (например, Empathy) не должен заботиться о том, по какому протоколу он обращается. Он просто разговаривает с Telepathy, а затем Telepathy пересылает этот запрос какому-нибудь демону, который на самом деле отвечает за передачу любого протокола, который вы используете. Эти демоны называются провайдерами телепатии. Все это связано с помощью магии D-Bus.
Эмпатия - это клиент телепатии, который представляет собой традиционное «приложение». Однако клиенты Telepathy не обязательно должны быть «приложениями» с окнами, строками меню, кнопками и всем остальным. Они также могут быть, о, я не знаю ... компонентом системы уведомлений.
Да, входные данные, которые вы видите, на самом деле являются подсистемой уведомлений оболочки GNOME, являющейся потребителем Telepathy. Уведомление вообще не связано с эмпатией: оно исходит от телепатии, а не от эмпатии.
Это означает, что «уведомление о вводе» не является общей структурой для ввода в уведомлениях. Не работает для произвольных вещей. Он только работает для Telepathy, и поэтому мы приходим к печальному ответу на ваш вопрос ... нет способа запросить ввод, подобный этому, из сценария оболочки.
Может быть, изучите zenity (1)
?