명령 줄에서 사용할 수있는라면 타이머 (Noodle Timer for macOS command line.)

명령 줄에서 사용할 수있는라면 타이머 (Noodle Timer for macOS command line.)



오늘 문득 PC 옆에 있던라면을 먹을 준비를 하고 있을 때, 커맨드 라인을 사용해,
for i in `seq 180`
do
sleep 1
echo $i
done

시간을 측정했지만,,,
하나의 명령으로 시간을 측정 할 수 있으면 좋겠다 ~라고 생각했습니다.

김으로 Noodle-Timer되는 것을 만들어 보았습니다.
(그런 본격적인 것은 아닙니다...)



운영 환경


  • macOS Catalina 10.15.6
  • You can use bash or zsh
  • shellscript

  • 소스 코드


    
    #!/bin/zsh
    clear
    trap 'date' 2
    sh -c "/bin/echo -n \"How many minutes? 🍜 : \""
    read Sec
    echo =================================
    echo "Set ${Sec} minutes."
    view=$((Sec*60))
    
    echo =================================
    afplay /System/Library/Sounds/Hero.aiff
    sh -c "/bin/echo -n \"start time -> \""
    date "+%Y-%m-%d %H:%M:%S"
    echo =================================
    
    icon=("ー" "\" "|" "/" "ー" "\" "|" "/")
    count=0
    for i in `seq $view`
    do 
        sleep 1
        ESC=$(printf '\033')
        echo "${ESC}[m ${ESC}[35m${icon[$count]}${ESC}[m ${ESC}[36m$((view-i)) seconds left...${ESC}[m ${ESC}[35m${icon[$count]}${ESC}[m" |
        while read line; do
            printf '\r%*s\r' ${lenLine:-${#line}}
            printf "%s" "$line"
            lenLine=${#line}
        done
        if [ $count = 7 ]; then
        count=0
        else
        count=$((count + 1))
        fi
    done
    echo ""
    echo =================================
    sh -c "/bin/echo -n \"complete time -> \""
    date "+%Y-%m-%d %H:%M:%S"
    echo =================================
    osascript -e "display notification \"$Sec min.\" with title \"🍜 complete.\""
    for i in `seq 6`
    do
    afplay /System/Library/Sounds/Purr.aiff
    done
    
    

    조금 해설

    먼저 clear 명령으로 화면을 지 웁니다.

    그런 다음 read 명령으로 입력 접수
    시간을 입력하고,
    변수에 저장합니다.

    초로 변환 후,
    afplay /System/Library/Sounds/Hero.aiff
    

    로 사운드를 울립니다.

    시작시의 날짜 시간을 출력합니다.

    카운트하는 동안 top 명령 스타일로 표시하고 싶으므로 명령 실행시 파이프로 입력을 접수합니다.

    그런 다음 마지막 행을 지우고 재배치하십시오.

    종료시의 날짜 시간을 출력합니다.

    마지막으로 알림을 팝업하고 사운드를 6 번 정도 울리고 완료됩니다.

    트랩을 사용하고 Control + C로 시간을 표시 할 수 있으므로 뜨거운 물을 넣은 타이밍과 어긋나면 시작 시간에서 역으로 계산할 수 있습니다.
    trap 'date' 2
    

    또한 시간이있을 때 조금 만들고 싶습니다.
    (좋은 숨결이 됐어...웃음)

    MIT입니다. 자유롭게 만져도 괜찮습니다.
    htps : // 기주 b. 코 m / 이오 ょ 소 phy / 오 d ぇ 치메 r

    이런 기능이 있으면 좋겠다.

    좋은 웹페이지 즐겨찾기