Você pode obter a data do próximo domingo, adicionar N
dias e imprimir o nome do dia para essa data específica:
getdayname () {
nextplus=$(date -d "next Sunday +$1 days")
date -d "${nextplus}" '+%A'
}
e execute getdayname 2
, getdayname 7
etc (assumindo gnu date
).
Ou simplesmente use uma matriz e não use o date
, por exemplo,
getdayname () {
local days=( Sunday Monday Tuesday Wednesday Thursday Friday Saturday )
printf %s\n ${days[$1]}
}
embora com bash
/ ksh
você precisa de printf %s\n "${days[$1-1]}"
(quando a indexação começa em 0
) , e aspas são necessárias para evitar split + glob (também com yash
).