[Eisfair] dyndnsautologin: Nach 3 Tagen neuer Login
Olaf Jaehrling
eisfair at ojaehrling.de
So Feb 23 18:12:47 CET 2014
Hallo Marcus,
On 23.02.2014 18:07, Marcus Roeckrath wrote:
> Hallo Olaf,
>
> Marcus Roeckrath wrote:
>
>> heute hat dyndnsautologin erfolgreich einen Connect durchgeführt, aber der
>> Zeitraum für den nächsten Login ist viel zu kurz berechnet:
>>
>> /etc/init.d/dyndnsautologin status
>> DynDNSautologin is running
>> DynDNSautologin last run: Sun Feb 23 14:38:35 CET 2014
>> DynDNSautologin next run at: 26. um 13:16
>
> Ich habe den Bug gefunden und geholfen dabei hat mir ein ähnlicher Fehler in
> einen meiner Skripte und er hängt damit zusammen, dass Zahlen mit führender
> Null in der Bash oktal interpretiert werden.
>
> Bis 07 ging es also gut, aber 08 ist eben keine oktale Zahl, 09 auch nicht,
> bei 10 wird es dann dezimal interpretiert und es gab keinen Fehler mehr.
>
> Hier Beispiele, die das grundsätzliche Problem zeigen:
>
> eis # echo $((`echo 07` % 4 +1))
> 4
>
> eis # echo $((`echo 08` % 4 +1))
> -bash: 08: value too great for base (error token is "08")
>
> eis # echo $((`echo 09` % 4 +1))
> -bash: 09: value too great for base (error token is "09")
>
> eis # echo $((`echo 10` % 4 +1))
> 3
>
> Klar?
>
> Nun die entscheidende Stelle aus Deinem Code (/etc/init.d/dyndnsautologin
> Zeile 57) für die Kommandozeile leicht verändert:
>
> eis # echo $((`date -d "-12 days ago" +%d`))
> 7
>
> eis # echo $((`date -d "-13 days ago" +%d`))
> -bash: 08: value too great for base (error token is "08")
> Nimmst Du statt +%d nun +%e als Formatierung für date geht es:
>
> eis # echo $((`date -d "-12 days ago" +%e`))
> 7
>
> eis # echo $((`date -d "-13 days ago" +%e`))
> 8
>
Danke, ich baue es eis.
Gruß und schönes WE
Olaf
Mehr Informationen über die Mailingliste Eisfair