shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Erro ocorre somente nas semanas 8 e 9 de cada ano


From: Alysson Azevedo
Subject: Re: [shell-script] Erro ocorre somente nas semanas 8 e 9 de cada ano
Date: Wed, 7 Mar 2018 09:14:27 -0300

Mas é estranho essa hipótese do octal porque o problema deveria ocorrer também nas semandas 18, 19, 28, 29...


Alysson Azevedo
Sócio Fundador / CTO
_______

Rx Tecnologia & Educação
address@hidden |  +55 41 99954-7451

Em 7 de março de 2018 09:12, Jonathan Lessa address@hidden [shell-script] <address@hidden> escreveu:
 

Bom dia!

complementando a resposta do  Peczenyj, basta adicionar mudar sua expressão de "+%V" para  "+%-V" para que o zero seja suprimido das datas:

$ echo $(($(date +%V -d "20180225") % 2))
-bash: 08: value too great for base (error token is "08")


echo $(($(date +%-V -d "20180225") % 2))
0



Em 7 de março de 2018 09:04, Tiago Peczenyj address@hidden [shell-script] <address@hidden.br> escreveu:
 

Ola

Esse bug me é familiar tem mais de uma década, mas jamais vi em shell script.

A primeira vez que eu vi foi em _javascript_. O que acontece é que, sob determinados contextos, um numero literal, inteiro, que começe por 0 vai ser tratado como um numero OCTAL

E numeros octais vão de 0 a 7, ou seja 08 e 09 não são inteiros em formato octal valido.

Solução? remova esse 0 da frente :)

2018-02-24 15:57 GMT+01:00 'Alberto Y. Fujihira' address@hidden [shell-script] <address@hidden.br>:
 

Tenho um script de backup em que utilizo a expressão abaixo para verificar se a semana é par (0) ou impar (1).


#!/bin/sh
nro=$(($(date +%V) % 2))


Ela funciona o ano todo, com exceção das 8ª e 9ª semanas do ano, quando ocorre o seguinte erro:

arithmetic _expression_: expecting EOF: "08 % 2"

Por que ocorre esse erro somente nessas semanas?
Alguma sugestão para resolver esse problema?


Obrigado.





--
Tiago B. Peczenyj

http://about.me/peczenyj




--
Att.:
Jonathan Lessa
Licenciado em Informática



reply via email to

[Prev in Thread] Current Thread [Next in Thread]