Potrzebujesz pomocy z C, C++, perl, python, itp.
DaVidoSS
Junior Member
Posty: 875 Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/
Post
autor: DaVidoSS » 01 stycznia 2012, 22:26
Witajcie. Staram się stworzyć skrypt umożliwiający dodanie jakiegoś czasu do danej godziny w formacie h
s.
Kod: Zaznacz cały
#!/bin/bash
echo -n "Wprowadź czas główny w formacie h:m:s:- "
read servertime
echo -n "Wprowadź pozostały czas do wydarzenia w formacie h:m:s:- "
read timeleft
SH=`echo $servertime | awk -F ":" '{print $1}'`
TH=`echo $timeleft | awk -F ":" '{print $1}'`
SM=`echo $servertime | awk -F ":" '{print $2}'`
TM=`echo $timeleft | awk -F ":" '{print $2}'`
SS=`echo $servertime | awk -F ":" '{print $3}'`
TS=`echo $timeleft | awk -F ":" '{print $3}'`
AH=$(($SH+$TH))
AM=$(($SM+$TM))
AS=$(($SS+$TS))
echo "Wydarzenie będzie miało miejsce o godzinie:- $AH:$AM:$AS "
Skrypt działa do momentu próby dodania czasu który po zsumowaniu przekracza liczbę 60.
Jak należy prawidłowo to sformułować?
Rafal_F
Moderator
Posty: 2350 Rejestracja: 29 sierpnia 2008, 16:45
Post
autor: Rafal_F » 01 stycznia 2012, 23:06
Nie można wstawić instrukcji warunkowej? Jeżeli sekundy > 60 to odejmij od nich 60 i dodaj 1 do minut, podobnie z minutami i po problemie.
DaVidoSS
Junior Member
Posty: 875 Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/
Post
autor: DaVidoSS » 01 stycznia 2012, 23:16
Niestety to przekracza moje możliwości percepcji.
Kod: Zaznacz cały
davidoss-sid@debian-sid:~$ sh czas
Wprowadź czas główny w formacie h:m:s:- 21:31:56
Wprowadź pozostały czas do wydarzenia w formacie h:m:s:- 01:31:34
Wydarzenie będzie miało miejsce o godzinie:- 22:62:90
Rafal_F
Moderator
Posty: 2350 Rejestracja: 29 sierpnia 2008, 16:45
Post
autor: Rafal_F » 01 stycznia 2012, 23:32
Kod: Zaznacz cały
#!/bin/bash
echo -n "Wprowadź czas główny w formacie h:m:s:- "
read servertime
echo -n "Wprowadź pozostały czas do wydarzenia w formacie h:m:s:- "
read timeleft
SH=`echo $servertime | awk -F ":" '{print $1}'`
TH=`echo $timeleft | awk -F ":" '{print $1}'`
SM=`echo $servertime | awk -F ":" '{print $2}'`
TM=`echo $timeleft | awk -F ":" '{print $2}'`
SS=`echo $servertime | awk -F ":" '{print $3}'`
TS=`echo $timeleft | awk -F ":" '{print $3}'`
AH=$(($SH+$TH))
AM=$(($SM+$TM))
AS=$(($SS+$TS))
if [ $AS -ge 60 ]; then
AS=$(($AS-60))
AM=$(($AM+1))
fi
if [ $AM -ge 60 ]; then
AM=$(($AM-60))
AH=$(($AH+1))
fi
echo "Wydarzenie będzie miało miejsce o godzinie:- $AH:$AM:$AS "
DaVidoSS
Junior Member
Posty: 875 Rejestracja: 06 marca 2010, 11:26
Lokalizacja: ~/
Post
autor: DaVidoSS » 02 stycznia 2012, 01:00
Pięknie.
Dziękuję bardzo.