如何解决系统管理员如何计算系统管理员日?
系统管理员往往不会离开他们所属的终端太远。
系统管理员了解 man {,/usr}/bin/*
。
系统管理员有时会使用 /usr/bin/* 中的解释性语言。
解决方法
这个系统管理员想出了:
date -d $(date +%Y)-07-$(ncal -d $(date +%Y)-07-01 | awk '/^Fr /{print $NR;}') +'%F'
在@tuberous-potato 的回答之后我想出了
echo $(date +%Y-%m)-$(ncal 7 $(date +%Y) | awk '/^Fr/ {print $NF}')
,
cal 7 $(date +%Y) | awk '{print $6}' | grep . | tail -n 1
,
不完全是单行的,并且建立在其他答案的基础上 - 这将获得下一个系统管理员日,而不仅仅是今年。
#!/bin/bash
sysadmin_date() {
year=$1
echo $year-07-$(cal -h 7 $year | cut -d' ' -f6 | grep . | tail -1)
}
next_sysadmin_date() {
this_years_sysadmin_date=$(sysadmin_date $(date +%Y))
next_years_sysadmin_date=$(sysadmin_date $(expr $(date +%Y) + 1))
today=$(date +%Y-%m-%d)
[[ $today > $this_years_sysadmin_date ]] && echo $next_years_sysadmin_date || echo $this_years_sysadmin_date
[[ $today == $this_years_sysadmin_date ]] && >&2 echo "Happy Sysadmin Day! ?"
}
next_sysadmin_date
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。