2006-06-29 16:26:13 atomisko napisał:
> mam do napisania skrypt który umozliwia zmiane hasla uzytkownika - wtedy gdy uplynał termin
> zmiany hasła dla tego uzytkownika. nie wiem dokonca jak to zwobic wiec zaczolem tak:
>
> #!/bin/bash
> if [ $(date +%d%m%y > ( ? ? ) ]
> then passwd
> fi
>
> ... wiec...
> proboje porównac aktualna date z ( ? ? ) - tutaj najlepiej byloby zstawic date zmiany hasla -
> ale nie wiem jak to zrobic... jesli macie jakies pomysły albo całkiem iine sugestie to proszę o
> pomoc
>
> pozdrawiam!
Możesz utworzyć sobie zmienne 'dzien', 'miesiac', 'rok', każda za pomocą instrukcji 'date', np. dzien=`date +%d`; miesiac=`date +%m' itd. Nastepnie wywołać polecenie tylko gdy rok > roku podanego w '(??)', miesiąc większy od podanego miesiąca i dzień większy od podanego dnia.
Jest jeszcze drugi sposób - łatwiejszy. Wystarczy aktualną datę i tę podaną skonwertować do jednej liczby oznaczającej liczbę sekund jaka upłynęła od 1.1.1970 (unix_timestamp) i porównać obie liczby.
Wszystko to powinieneś osiągnąć za pom. instrukcji 'date'.
Powodzenia