Собственные приложения из команд терминала
Все пользователи Mac os так или иначе знакомы с Терминалом. Некоторым он необходим для повседневных дел, будь то копирование файлов или установка программ и т.д. (если вы являетесь таким пользователем Mac OS, можете пройти мимо). Если же вы пользуетесь Терминалом лишь для открытия дополнительных возможностей системы, и делаете это довольно таки часто вам как раз сюда.
К примеру вам необходимо добавить пробел в док, или открыть доступ к скрытым файлам (произвести манипуляции и закрыть доступ), конечно можно воспользоваться специальными программами для тонкой настройки системы, но если вам нужно лишь парочка твиков, смысла в таком приложении нет, а тем более если оно платное. В таких ситуациях пользуются Терминальными командами, сейчас я на примерах покажу как из этих команд создать приложение которое в один клик выполнит требуемую операцию.
Задачи я выше обозначил, начнем с добавления пробела в док:
Открываем «Могучий» Automator и в выпадающем меню выбираем «Программа»
В библиотеке нам необходимо выбрать «Служебные программы» — «Запустить shell - скрипт» именно он и отвечает за действия передаваемые терминалу, в выпадающем меню «Shell» указываем /bin/bash, в меню «Передать ввод» — в stdin.
В поле команды вводим требуемую терминальную команду, а именно
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}'; killall Dock
Собственно всё! Сохраняем наше приложение в папке служебные программы (но вы можете выбрать любую другую), назвав к примеру «Добавить пробел в док» (чтоб сразу было понятно), важно указать, что форматом файла является Программа.
Можете опробовать программку в действии, работает всё четко и нет необходимости запускать каждый раз терминал, параллельно вспоминая команду. Остаётся только сменить стандартную иконку добавить её в панель инструментов Finder для большей удобности. Для удаления любого из пробелов просто выкиньте его из дока.
Теперь кое что посложней, создадим программку которая будет показывать и прятать скрытые системные файлы. Проделываем все операции описанные выше и остановимся на вводе кода в действие shell-скрипт, требуемые команды две для открытия
defaults write com.apple.Finder AppleShowAllFiles 1 && killall Finder
и закрытия
defaults write com.apple.Finder AppleShowAllFiles 0 && killall Finder
Но создавать для этого дела два приложения как минимум не рационально (хотя и такой вариант ни кто не отменяет), поэтому нам необходимо научить Shell-скрипт распознавать в каком состоянии находятся скрытые файлы.
showFiles="$(defaults read com.apple.finder AppleShowAllFiles)"
if [ "$showFiles" = 1 ]
then defaults write com.apple.finder AppleShowAllFiles -bool FALSE
else defaults write com.apple.finder AppleShowAllFiles -bool TRUE
fi; killall Finder
Тут происходит анализ кода defaults read com.apple.finder AppleShowAllFiles который может быть либо FALSE — 0, либо TRUE -1. Получив данные переменная showFiles подставляет нужное значение.
Осталось только сохранить созданное приложение и пользоваться им не прибегая к услугам Терминала. Я оба приложения перенёс в Finder, так как пользуюсь ими довольно таки часто.
Ну и в заключении могу сказать что всё ограниченно лишь вашей фантазией, и возможности Automator по истине огромны, о некоторых из них расскажу в следующий раз.
- Дата: 27-10-2016, 19:56