[attachment=2:391lmc8t]screenshot3.png[/attachment:391lmc8t]
[attachment=1:391lmc8t]screenshot4.png[/attachment:391lmc8t]
[attachment=0:391lmc8t]screenshot5.png[/attachment:391lmc8t]
conky 에 d-day 를 추가하고 싶어서 이리저리 찾다가
아무래도 없는 것 같아서 스크립트를 짜봤습니다
내용은 별거 없는데 쉘(셸?)스크립트 짜보는 게 처음이라서
하나부터 열까지 다 찾아보면서 했습니다;;
그래서 너무 허접하니까
간단하게 줄일 수 있는 부분이나
잘못 된 부분이 보이면 거침없이 지적해주시면 감사하겠습니다
(에러 처리 같은 부분은 귀찮아서 건너 뛰었습니다;)
사용은 아래 code 부분을 복사해다가
~/script/dday.sh 파일을 생성해서 저장하고
(물론 취향에 맞게 다른 데다 만드셔도;
.conkyrc 파일에 d-day 를 표시할 부분에
code 의 usage 중 맘에 드는 타입을 삽입하시면 되겠습니다
parameter $1 은 YYYYMMDD 타입의 해당날짜를 넣어주시구요
parameter $2 는 해당날짜가 과거이고 해당날짜를 포함해서 세는 경우
(여자친구랑 기념일이나 어떤 계획을 실행하고 있는 날짜 등 뭐 그럴 경우가 있다더라구요)
1 로 넣어주시면(사실은 0만 아니면 다 똑같지만;) +1 해주는 기능을 합니다
(그래서 해당날짜가 미래일 경우 parameter $2는 무시해버립니다, 필요없으면 안 넣어도 됩니다)
[code:391lmc8t]
#!/bin/sh
usage
${exec ~/scripts/dday.sh 20090209 1}(20090209)
${exec ~/scripts/dday.sh 20090214}
${execi 60 ~/scripts/dday.sh 20090201 0}
D${execi 1800 ~/scripts/dday.sh 20091225}(091225)
parameter $1
target day
YYYYMMDD
THEDAY=$1
parameter $2
mode
0 or 1
if the day is before whether include the day
0 : don’t include the day
1 : include the day
if [ $# -eq 1 ]; then
MODE=0
else
MODE=$2
fi
RESULT=$(expr ( $(date -d$(date --date=‘today’ +%Y%m%d) +%s) - $(date -d$THEDAY +%s) ) / 86400)
if [ $RESULT -lt 0 ]; then
echo $RESULT
elif [ $MODE -eq 0 ]; then
echo +$RESULT
else
echo +$(expr $RESULT + 1)
fi
[/code:391lmc8t]