요일을 기준으로 메시지를 인쇄하는 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)]}"