Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1



Nadworny matematyk




Cześć,
Mam pewien problem, którego nie rozumiem otóż:
#!/bin/bash
date1=`date +%s`
date2=`date +%s -d "$1"`
if [ $date2 -lt $date1 ];then
echo "Czas się nie cofa..."
exit 1
fi
echo $[date2-date1]To działa wyśmienicie jako skrypt i jest git. Powiedzmy że jest czas na kompie "02/06/2013 22:12" no i jako parametr daje mu "02/07/2013 7:00" i to działa. Jak daje mu czas "02/07/2013 23:00" to też działa ;)
Działa tzn wynik jest dodatni ;)
Teraz coś modyfikuję:
#!/bin/bash
mySleep(){
date1=`date +%s`
date2=`date +%s -d"$1"`
if [ "$date2" -lt "$date1" ];then
echo "Czas się nie cofa..."
exit 1
fi
echo "$[date2-date1]"
}
mySleep $1To już nie działa tak samo jak poprzednie. Drugi skrypt czyli poprzedni 'jako funkcja' nie widzi godziny. Mogę mu podać czas "02/06/2013 23:00" a on wyświetli mi komunikat, "czas się nie cofa" bo nie widzi 23:00...
Może mi to ktoś wytłumaczyć i jak to naprawić?
Pozdrawiam
Ostatnio edytowany przez P@blo (2013-02-06 23:15:19)
Offline



Administrator




mySleep "$1"
Offline



Nadworny matematyk




Dzięki ;)
Offline



Nadworny matematyk




Dobra jednak to nie jest to czego potrzebuje... Tzn troche źle opisałem problem. Potrzebuje aby funkcja mySleep z drugiego skryptu brała argument ale jakiś dowolny (date) a nie $1 (ze skryptu) i potem w bebechach tej funkcji chce operować na zmiennej $1. Nie wiem czy jasno.
Chce aby funkcja brała swój argument i traktowała go jak to robi skrypt bash'a.
Offline




Użyszkodnik
Co prawda nie rozumiem pytania, ale i tak napiszę:
parametry pozycyjne funkcji obsługujesz w dokładnie taki sam sposób co parametry pozycyjne skryptu.
Offline



Nadworny matematyk




No to mi to nie działa. Czyli twierdzisz, że powyższy skrypt z funkcją poprawiony o mySleep "parametr" powinien działać?
EDIT: Działa. Nie działało bo date trochę inaczej widzi ;)
Dzięki za pomoc.
Ostatnio edytowany przez P@blo (2013-02-07 18:23:50)
Offline
Strony: 1