Shell 看看今天是不是某个特定的日期
我想看看这一天是不是星期天,但由于某种原因,我无法让它工作Shell 看看今天是不是某个特定的日期,shell,Shell,我想看看这一天是不是星期天,但由于某种原因,我无法让它工作 [[ "date '+%a'" == "Sun" ]] && echo "Today is Sunday" 使用$(…)执行命令并以字符串形式返回输出: [[ $(date '+%a') == "Sun" ]] 您可以使用日期+%u获取一周的天数。。。1-7星期一是1,这样你就不应该对非英语地区有任何问题了完成: case "$(date '+%a')" in "Sun" ) echo "sunday";; esac
[[ "date '+%a'" == "Sun" ]] && echo "Today is Sunday"
使用$(…)
执行命令并以字符串形式返回输出:
[[ $(date '+%a') == "Sun" ]]
您可以使用日期+%u获取一周的天数。。。1-7星期一是1,这样你就不应该对非英语地区有任何问题了完成:
case "$(date '+%a')" in "Sun" ) echo "sunday";; esac
如果您有多个地区,我建议您使用+%u
cf.man date
:
%u一周中的某一天(1..7);1号星期一
今天是星期一:
date +%u
1
if [[ $(date +%u) -eq 1 ]]; then
echo 'ho no :c'
fi
ho no :c
hth最好让命令“LC_ALL=C date+'%a'”,否则一旦有人使用非英语语言环境集运行shell脚本,它就会停止工作。或者更好的是,使用
%w
这样它会给你一个数字。所以下一个问题是如何在cron中运行它。基本上,我希望每个月的第三个星期天运行一个特定的脚本,因此需要检查日期是否在星期天。[[$(date'+%u')==“7”]]&&echo“今天是星期天”
您指出这一点太好了。这要简单得多。
date +%u
1
if [[ $(date +%u) -eq 1 ]]; then
echo 'ho no :c'
fi
ho no :c