first code

This commit is contained in:
finga 2014-07-13 04:35:12 +02:00
parent 124bf2de55
commit 1b6d06e4a9
2 changed files with 28 additions and 1 deletions

View file

@ -1,4 +1,4 @@
birthdays
=========
shellscript for printing upcoming birthdays
shellscript for printing upcoming birthdays

27
birthdays.sh Executable file
View file

@ -0,0 +1,27 @@
#!/bin/bash
# path to file
conf_file=$HOME/birthdays
days_left=30
# functions to get days to birthday
function days_left {
birthday=$(date -d "$1" +%j 2>/dev/null | sed 's/^0*//')
today=$(date +%j 2>/dev/null | sed 's/^0*//')
days=$(( ${birthday} - ${today} ))
if [ 0 -le "$days" ] && [ "$days" -le "$days_left" ];then
if [ "$days" -le $((days_left / 2)) ];then
echo -e "\033[33m$( cut -f 2- <<< "$i" ) in $days days\033[m"
elif [ "$days" -le 7 ];then
echo -e "\033[31m$( cut -f 2- <<< "$i" ) in $days days\033[m"
else
echo -e "\033[32m$( cut -f 2- <<< "$i" ) in $days days\033[m"
fi
fi
}
readarray lines < "$conf_file"
for i in "${lines[@]}"; do
days_left "$( cut -f 1 <<< "$i" )"
done