![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Nedräkningen i UNIX? | JamieMurry | UNIX for Dummies Frågor & Svar | 5 | 04-23-2009 07:15 |
| Display runnning nedräkning i ett bash-script? | Starcast | Shell-programmering och Skript | 11 | 04-02-2009 06:20 |
| Shuttleworth börjar nedräkningen till Ubuntu 8.04 release | iBot | UNIX och Linux RSS Nyheter | 0 | 04-17-2008 04:20 |
| Micro Countdown 1,0 (Standard filial) | iBot | Programversionerna - RSS News | 0 | 03-25-2008 09:30 |
| shell script - loop till nedräkning | froggwife | UNIX for Dummies Frågor & Svar | 2 | 11-29-2001 10:48 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Kod:
#!/bin/sh
XMAS=`date -d "Dec 25" +%j`
TODAY=`date +%j`
DAYS=$(($XMAS - $TODAY))
if [[ ! $DAYS =~ ^[0-9+$ ]]; then
echo There are $DAYS days left until Xmas.
else
echo Merry Xmas and Happy New year\!
fi
|
|
||||
|
Detta skript använder Julian dagarna. Detta är overkill om du har GNU datum (Linux)
Kod:
#!/bin/ksh
jd=0
fraction=0
JD() # $1==day $2=month $3=year
{
day=$1
month=$2
year=$3
jd=0
if [[ $month -lt 3 ]] ; then
year=$(( $year - 1 ))
month=$(( $month + 12 ))
fi
a=$(( $year / 100 ))
b=$(( $a / 4 ))
c=$(( 2 - $a + $b ))
e=$(echo "365.25 * ( 4716 + $year ) " | bc -l)
f=$(echo "30.6001 * ( $month + 1)" | bc -l )
if [[ $year -gt 1581 ]] ; then
jd=$(( $c + $day + $e + $f ))
jd=$( echo "$jd - 1524.5" | bc -l )
fi
export jd
}
hr=$(( $(date "+%H") * 3600 ))
min=$(( $(date "+%M") *60 ))
sec=$(date "+%S")
fraction=$( echo "$hr/86400 + $min/86400 + $sec/86400"| bc -l)
JD $( date "+%d %m %Y" )
today=$( echo "$jd + $fraction" | bc -l)
yr=$( date "+%Y" )
JD 25 12 $yr
xmas=$jd
difference=$(( $xmas - $today ))
if [[ $difference -lt 0 ]] ; then
yr=$(( $yr + 1 ))
JD 25 12 $yr
xmas=$jd
difference=$(( $xmas - $today ))
fi
echo "Days to Christmas: $difference"
|
![]() |
| Komihåglista |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|