![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| отсчет времени в Unix? | JamieMurry | UNIX для чайников Вопросы И Ответы | 5 | 04-23-2009 08:15 PM |
| Дисплей запустить отсчет в Bash скрипт? | Starcast | Shell программирование и сценарии | 11 | 04-02-2009 07:20 PM |
| Шаттлуорт начинается отсчет времени до релиза Ubuntu 8.04 | iBot | UNIX и Linux RSS Новости | 0 | 04-17-2008 05:20 AM |
| Micro Таймер 1.0 (по умолчанию филиала) | iBot | Релизов программ - RSS Новости | 0 | 03-25-2008 09:30 PM |
| скрипт оболочки - петля для отсчета | froggwife | UNIX для чайников Вопросы И Ответы | 2 | 11-29-2001 10:48 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
отсчет времени до Рождества
было интересно, существует ли скрипт, который будет countdiwn дней до Рождества
|
|
||||
|
Код:
#!/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
|
|
||||
|
Данный скрипт использует юлианский дней. Это выход за рамки, если у вас есть GNU Дата (Linux)
Код:
#!/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"
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|