Mac의 터미널에서 타이머 작성(반복 기능도)

배경



Mac에서 타이머를 사용하고 싶다면 표준이 아니고, App Store에 있는 해외제의 무료를 넣는 것도..라고 생각 쉘 스크립트로 작성
그건 그렇고, 이번에는 한 번에 끝나지 않았고 반복해서 일정 시간에 반복적으로 가르쳐 주길 원했습니다.

완성도



최소한으로 살짝 만들어 이런 느낌
얼른 시간을 알면 충분하고, 지정 시간이 지나면 표준 사운드의 Glass를 2회 울리게 했습니다


명령 및 코드



적당한 장소에 스크립트를 두고, 아래에서 실행(※9분마다 소리를 울리는 예)
옵션으로 「-l」을 붙이면 루프로 실행합니다 (getopts의 사양인가, 옵션을 「9」의 뒤에 붙이면 안 되었습니다)
sh min_timer.sh -l 9

min_timer.sh
#!bin/bash

## オプション(ループ指定)解析
loop='FALSE'
while getopts l OPT
do
  case $OPT in
    'l' ) loop='TRUE' ;;
  esac
done
shift  $(($OPTIND - 1))

## タイマー指定時間
minutes=$1

while :
do
  clear
  ## 開始時間と終了時間を表示
  echo "***** `date +%H:%M` -> `date -v+${minutes}M +%H:%M`\n"

  for i in `seq 1  ${minutes}`
  do
    ## 残り時間を表示(毎分)
    num=$(($minutes - $i + 1))
    echo "残り${num}分"
    sleep 60
  done

  ## アラーム(下記の場所に他の標準サウンドもありました)※-vオプションで音量調整できます
  afplay /System/Library/Sounds/Glass.aiff
  afplay /System/Library/Sounds/Glass.aiff

  ## ループor終了
  if [ "${loop}" = 'FALSE' ];then
    exit 0
  fi
done

마지막으로



이번 조금 소용으로 대략 만들었습니다만, 한 번 더 추가하면 포모도로 테크닉라든지라도 사용할 수 있을까라고 생각했습니다(25분과 5분으로 반복하도록(듯이)라든지)
또한 afplay는 음악 파일을 재생하고 있기 때문에 좋은 느낌을 준비하면 기분이 올라갈 것입니다.

좋은 웹페이지 즐겨찾기