Terminal & Bage

Так или иначе каждому маководу в своей жизни рано или поздно придётся хоть чуть-чуть поработать в Терминале. Большинство операций (команд) в Терминале выполняются практически мгновенно, но есть и такие, на выполнение которых уходит достаточно много времени. Например, на создание Fusion Drive или установочной флешки с OS X Mavericks порой нужно много времени. Обычно, когда что-то такое химичишь всегда хочется, чтобы оно захимичилось как можно быстрее, но при этом и втыкать в окно консоли не очень охото (в это время можно ведь и в инэте пошариться с пользой для себя). Так как же так сделать, чтоб Терминал оповещал пользователя о том, что он завершил свою работу? На самом деле это проще простого потому как в системе уже есть все компоненты, чтобы просто взять и воспользоваться ими.

Если вы собрались делать что-то такое, что будет долго выполняться, то после команды через пробел достаточно добавить ещё одну небольшую строку:

&& tput bel

Чтоб было понятно, как это выглядит на практике, рассмотрим команду для проверки скорости отклика нашего блога — «попингуем» MacDaily.me. Сама команда для «пинга» будет выглядеть вот таким образом:

ping -c 10 macdaily.me

Здесь параметр -с 10 указывает количество обращений к сайту. Если параметр задать как -с 100, то, конечно же, на завершение обработки команды уйдёт достаточно много времени, и в этом случае мы воспользуемся вот той приблудой, о которой я рассказал в самом начале заметки. В итоге новая команда будет выглядеть вот таким образом:

ping -c 10 macdaily.me && tput bel

После завершения «пинговки» система «бипнет» вам, а если окно Терминала было ещё и не активным, то иконка в Dock начнёт подпрыгивать и на ней появится красный бейдж:
Уведомление об окончании долгой операции в Терминале.
Ко всему прочему через Терминал можно так же делать и голосовые уведомления. Так почему бы ими не воспользоваться? — Правильно, нет такой причины. Поэтому делаем последнее усовершенствование и получаем вот такую команду:

ping -c 10 macdaily.me && say -v Bells "Bell bell bell. All Done." && tput bel

Попробуйте, прикольно получается :)


Понравилось? Поделись с друзьями!
  • Полезная вещь! Спасибо!

  • Просто невероятно удобная фишка! Теперь буду знать и использовать!
    А то следить через jobs и bg не всегда так же удобно :)

  • Можно еще, например, использовать команды:

    sleep 5 && open end.mp3
    

    или

    sleep 5 && say "hello world"
    

    или даже запустить какую-то программу после выполнения

    sleep 5 && open /путь к программе/имя.app
    

    или

    sleep 5 && printf "\a"
    

    или

    sleep 5 && clear; echo "ВСЕ :)"
    

    или

    sleep 5 && say -v Bells "Completed"
    

    или

    sleep 5 && say -v Milena "Хозяин Операция выполнена успешно";
    

    Вывести список всех голосов:

    say -v \?
    
  • можно перед командой написать time и узнать сколько времени она выполнялась
    MacBook-Pro-Mac:~ mac$ time pwd
    /Users/mac

    real 0m0.021s
    user 0m0.000s
    sys 0m0.000s