요일(예: 수요일에는 "Happy Hump Day", 금요일에는 "TGIF" 등)을 기반으로 메시지를 인쇄하는 Bash 스크립트를 만듭니다.

요일(예: 수요일에는 "Happy Hump Day", 금요일에는 "TGIF" 등)을 기반으로 메시지를 인쇄하는 Bash 스크립트를 만듭니다.

요일을 기준으로 메시지를 인쇄하는 Bash 스크립트를 만듭니다(예: 수요일은 "Happy hump day", 금요일은 "TGIF" 등). bash 스크립트에서 요일 메시지를 인쇄하는 방법은 무엇입니까?

답변1

현재 요일은 1에서 7 사이의 정수일 수 있습니다(1은 월요일).

printf -v weekday '%(%u)T' -1

bash이는 버전 4.2 이상을 실행하고 있다고 가정합니다 .

이 번호를 기반으로 다른 메시지를 할당하고 인쇄하려면:

case $weekday in
    3) message='Happy hump day' ;;
    5) message='TGIF' ;;
    *) message='Some default message'
esac

printf 'Message of the day: %s\n' "$message"

답변2

메시지 배열을 선언한 후 실제 요일에 해당하는 메시지를 사용합니다. date +%w인덱스로 사용할 수 있는 숫자 0 .. 6(0은 일요일에 해당)을 반환합니다.

#! /bin/bash
messages=(Sunday
          IFHM
          Tuesday
          'Happy hump day!'
          Thursday
          TGIF
          Saturday)

echo "${messages[$(date +%w)]}"

관련 정보