read -rd "" cal_events <<'EOF' 3,17,Saint Patrick's day,Happy,🍀 10,31,Halloween,Have a spooky,🎃 12,25,Christmas,Merry,🌲 EOF if [[ -f ~/.events.csv ]]; then cal_events=$(< ~/.events.csv) fi read -r cur_{month,day} < <(date "+%m %d") while IFS=, read -r ev_month ev_day ev celebrate sym; do if (( 10#$cur_month == 10#$ev_month )); then if (( 10#$cur_day < 10#$ev_day )); then printf "Only %d days until %s!\n" "$(( 10#$ev_day - 10#$cur_day ))" "${ev^}" elif (( 10#$cur_day == 10#$ev_day )); then printf "%s %s!\n" "$celebrate" "${ev^}" fi PS1_prompt_sym=$sym fi done <<< "$cal_events"