Выполнение следующего:
tell application "System Events" to ¬
get has scripting terminology of application process "Brackets"
Возвраты:
false
Итак, сценарии Скобки с AppleScript будут ограничены;однако следующий пример AppleScript код помог мне вернуть требуемую часть того, что показано для имени документа на Окно меню в скобках :
tell application "System Events" to set menuItemName to ¬
(name of menu item 7 of menu 1 of menu bar item ¬
"Window" of menu bar 1 of application process "Brackets")
set docPathName to do shell script ¬
"grep -o '^.*\\.[[:alnum:]]*[^ ]'<<<" & ¬
quoted form of menuItemName
return docPathName
Обратите внимание, что команда grep
, если используется в Terminal , регулярное выражение , используемое для него, будет иметь только одну обратную косую черту , предшествующую .
, чтобы экранировать его и рассматривать как литерал .
;однако при использовании команды do shell script
для ее правильного экранирования необходима дополнительная обратная косая черта .
In скобки , с документом, открытым и выбранным в Рабочие файлы , имя , которое отображается в меню Окно для выбранного документа, всегда равно menu item 7
и вформа:
/path/to/filename.ext (some text) — Brackets
Использование grep -o
для возврата только соответствующей части того, что находится в переменной docPathName
с использованием ^.*\.[[:alnum:]]*[^ ]
regex , он вернет все до, но не включая " (some text) — Brackets"
.
Другими словами, он вернет только часть "/path/to/filename.ext"
.
Пониманиеdo shell script
команда :
grep
- со страницы справочника: средство поиска файлов -o
- печать только соответствующей частилиний. ^.*\.[[:alnum:]]*[^ ]
- См. Понимание RegEx: ниже.
<<<
- Со страницы bash
man : Здесь строкаs
Вариант следующих документов, формат которого: <<< <em>word
word раскрывается и передается команде на ее стандартный ввод.
Понимание RegEx:
^.*\.[[:alnum:]]*[^ ]
^
- Устанавливает позицию в начале строки. .
- Соответствует любому символу (кроме ограничителей строки). *
- Quantifier - Соответствует от нуля до неограниченного числа раз, столько раз, сколько возможно, возвращая при необходимости (жадный)). \.
- буквально сопоставляет символ .
(с учетом регистра). [[:alnum:]]
- сопоставляет один символ, присутствующий в списке, соответствует буквенно-цифровому символу [a-zA-Z0-9]. *
- Квантификатор - Сопоставляется от нуля до неограниченного числа раз, столько раз, сколько возможно, возвращая при необходимости (жадный). [^ ]
-Соответствует одному символу, отсутствующему в списке, соответствует символу
буквально (с учетом регистра).
Примечание: пример AppleScript код только и не содержит ошибки обработка в зависимости от обстоятельств. Пользователь должен добавить любую обработку ошибок , которая может быть уместной, необходимой или желаемой. Взгляните на оператор try и error оператор в Руководство по языку AppleScript . См. Также, Работа с ошибками .