Argumento inteiro positivo [RESOLVIDO]

1. Argumento inteiro positivo [RESOLVIDO]

Guilherme
guilhermesandi

(usa Debian)

Enviado em 07/10/2019 - 18:06h

Estou criando um script que mostre os números primos em uma sequência, sendo essa sequência informada por argumentos.
O problema que estou tendo é que ao informar os valores por argumento está sendo entendido como se fosse string e não um número.

#!/bin/bash
factor {$1..$2} | awk -F \: '$1 == $2{ print $1}'


Quando eu rodo o programa ele me retorna :
factor: ‘{2..50}’ is not a valid positive integer


Alguém poderia me ajudar?


  


2. Re: Argumento inteiro positivo [RESOLVIDO]

Matheus
pylm

(usa Gentoo)

Enviado em 07/10/2019 - 18:46h

Usa o seq


#!/bin/bash

factor $(seq $1 $2) | awk -F \: '$1 == $2{ print $1}'



3. Re: Argumento inteiro positivo [RESOLVIDO]

Guilherme
guilhermesandi

(usa Debian)

Enviado em 07/10/2019 - 18:59h

pylm escreveu:

Usa o seq


#!/bin/bash

factor $(seq $1 $2) | awk -F \: '$1 == $2{ print $1}'


Cara, muuuito obrigado, deu certo!


4. Re: Argumento inteiro positivo [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/10/2019 - 19:10h

guilhermesandi escreveu:

Estou criando um script que mostre os números primos em uma sequência, sendo essa sequência informada por argumentos.
O problema que estou tendo é que ao informar os valores por argumento está sendo entendido como se fosse string e não um número.

#!/bin/bash
factor {$1..$2} | awk -F \: '$1 == $2{ print $1}'


Quando eu rodo o programa ele me retorna :
factor: ‘{2..50}’ is not a valid positive integer


Alguém poderia me ajudar?

Boa noite guilhermesandi.
O problema é que a expansão {$1..$2} não entende as variáveis....
Exemplo:
a=0;b=12
echo {$a..$b}
{0..12}
eval echo {$a..$b}
0 1 2 3 4 5 6 7 8 9 10 11 12

Para contornar faça:
factor $(eval echo {$1..$2}) | awk -F \: '$1 == $2{ print $1}'
Ou
factor $(seq $a $b)| awk -F \: '$1 == $2{ print $1}'

Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts