创建一个 Bash 脚本,该脚本将根据一周中的哪一天打印一条消息(例如,周三为“快乐驼峰日”,周五为“TGIF”等)

创建一个 Bash 脚本,该脚本将根据一周中的哪一天打印一条消息(例如,周三为“快乐驼峰日”,周五为“TGIF”等)

创建一个 Bash 脚本,该脚本将根据一周中的哪一天打印一条消息(例如,周三为“Happy hump day”,周五为“TGIF”等)。如何在 bash 脚本上打印星期几的消息?

答案1

一周中的当前日期可以是 1 到 7 之间的整数(1 是星期一),其中

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

假设您运行的是bash4.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)]}"

相关内容