Как сделать уведомление об окончании долгой операции в Терминале.

Так или иначе каждому маководу в своей жизни рано или поздно придётся хоть чуть-чуть поработать в Терминале. Большинство операций (команд) в Терминале выполняются практически мгновенно, но есть и такие, на выполнение которых уходит достаточно много времени. Например, на создание 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

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

Share this article
0
Share
Prev Post

Как включить функцию «Do Not Track» в Safari.

Next Post

Урок 3 Часть 2 – Продолжаем писать наше приложение «Книга рецептов»

Comments 8
  1. Просто невероятно удобная фишка! Теперь буду знать и использовать!
    А то следить через jobs и bg не всегда так же удобно 🙂

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

    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 \?
    
  3. можно перед командой написать time и узнать сколько времени она выполнялась
    MacBook-Pro-Mac:~ mac$ time pwd
    /Users/mac

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read next