Comando for não aceita a entrada do teclado. [RESOLVIDO]

1. Comando for não aceita a entrada do teclado. [RESOLVIDO]

Elton Batista
ebnasci

(usa Slackware)

Enviado em 14/03/2021 - 00:05h

Boa noite pessoal, alguem poderia me tirar uma duvida, estou com problemas ao fazer o comando for executar as instruções passada, abaixo segue 2 exemplos.

Att;

#!/bin/bash

read -p "Digite: " prim

read -p "Digite: " ult

for i in {`echo ${prim}`..`echo ${ult}`}; do
echo "[Bookmarks_$i]" >> /root/Shells/teste1.txt
echo "SubRep=1" >> /root/Shells/teste1.txt
echo "ImgNum=41" >> /root/Shells/teste1.txt

done

# abaixo retorno do for de cima, porém se eu colocar no for assim "for i in {1..3} ele executa normal, só que colocando por variavel não vai, alguem sabe o que pode ser?
[Bookmarks_1..3]
SubRep=1
ImgNum=41




  


2. Re: Comando for não aceita a entrada do teclado.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/03/2021 - 00:15h

ebnasci escreveu:

Boa noite pessoal, alguem poderia me tirar uma duvida, estou com problemas ao fazer o comando for executar as instruções passada, abaixo segue 2 exemplos.

Att;

#!/bin/bash

read -p "Digite: " prim
read -p "Digite: " ult
for i in {`echo ${prim}`..`echo ${ult}`}; do
echo "[Bookmarks_$i]" >> /root/Shells/teste1.txt
echo "SubRep=1" >> /root/Shells/teste1.txt
echo "ImgNum=41" >> /root/Shells/teste1.txt
done

# abaixo retorno do for de cima, porém se eu colocar no for assim
"for i in {1..3} ele executa normal, só que colocando por variavel não vai.
Alguem sabe o que pode ser?
[Bookmarks_1..3]
SubRep=1
ImgNum=41

Boa noite Ebnasci.
A expansão de chaves, não resolve a variável ...
Para contornar, faça.
Exemplo:
NN=12
echo {0..$NN} #Não Resolve a var NN
{0..12}
eval echo {0..$NN} #Agora resolve....
0 1 2 3 4 5 6 7 8 9 10 11 12
BASH é os seus mistérios......
Outras opções:
INI=0;FIM=10;
for ((N=${INI};N<${FIM};N++));do
.....done
Ou ainda:
for N in $(seq $INI $FIM);do
..
done
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________



3. Re: Comando for não aceita a entrada do teclado. [RESOLVIDO]

Elton Batista
ebnasci

(usa Slackware)

Enviado em 14/03/2021 - 00:48h


msoliver escreveu:

ebnasci escreveu:

Boa noite pessoal, alguem poderia me tirar uma duvida, estou com problemas ao fazer o comando for executar as instruções passada, abaixo segue 2 exemplos.

Att;

#!/bin/bash

read -p "Digite: " prim
read -p "Digite: " ult
for i in {`echo ${prim}`..`echo ${ult}`}; do
echo "[Bookmarks_$i]" >> /root/Shells/teste1.txt
echo "SubRep=1" >> /root/Shells/teste1.txt
echo "ImgNum=41" >> /root/Shells/teste1.txt
done

# abaixo retorno do for de cima, porém se eu colocar no for assim
"for i in {1..3} ele executa normal, só que colocando por variavel não vai.
Alguem sabe o que pode ser?
[Bookmarks_1..3]
SubRep=1
ImgNum=41

Boa noite Ebnasci.
A expansão de chaves, não resolve a variável ...
Para contornar, faça.
Exemplo:
NN=12
echo {0..$NN} #Não Resolve a var NN
{0..12}
eval echo {0..$NN} #Agora resolve....
0 1 2 3 4 5 6 7 8 9 10 11 12
BASH é os seus mistérios......
Outras opções:
INI=0;FIM=10;
for ((N=${INI};N<${FIM};N++));do
.....done
Ou ainda:
for N in $(seq $INI $FIM);do
..
done
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


Olá Marcelo, irei testar e te retorno com o resultado, muito obrigado!


4. Deu certo

Elton Batista
ebnasci

(usa Slackware)

Enviado em 14/03/2021 - 19:45h





5. Re: Comando for não aceita a entrada do teclado. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/03/2021 - 20:58h


ebnasci escreveu:
NADA!!!!

Funcionou?
Por nada!
Precisando.....


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________