Criar ficheiro com cat ao correr script e manter definidas variáveis [RESOLVIDO]

1. Criar ficheiro com cat ao correr script e manter definidas variáveis [RESOLVIDO]

daniel
danueli

(usa Ubuntu)

Enviado em 10/06/2017 - 14:08h

Boas estou aqui com problema de sintaxe, penso eu.
Pegando na minha ultima situação ( https://www.vivaolinux.com.br/topico/Shell-Script/Gravar-variaveis-em-ficheiro-e-puxar-essas-variave... ).

Correr
menu.sh
#!/bin/bash
echo "Digite Nome"
read NOME
echo "NOME=$NOME" >> /root/VARS
echo "Digite Idade"
read IDD
echo "IDD=$IDD" >> /root/VARS

cat <<EOF> /root/submenu.sh
#!/bin/bash
. VARS
echo "Qual o nome2?"
read NOME2
echo $NOME2
echo $IDD
echo "Homem ou Mulher?"
read MF
echo "MF=$MF" >> /root/VARS
EOF


echo $NOME2 
### Quando cria o submenu.sh Este fica em vazio, pois quando executei menu.sh não havia variável definida para NOME2. o que quero é que ele escreva o $NOME2 e não assuma o valor da variável
Pretendo que o ficheiro fique com este (abaixo).
submenu.sh
#!/bin/bash
. VARS
echo "Qual o nome2?"
read NOME2
echo $NOME2 ### <---- ASSIM!!
echo $IDD
echo "Homem ou Mulher?"
read MF
echo "MF=$MF" >> /root/VARS
EOF





  


2. Re: Criar ficheiro com cat ao correr script e manter definidas variáveis [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/06/2017 - 15:24h

Boa tarde.
Dei a dica para isso funcionar, no tópico anterior...

att.:
mso


3. Re: Criar ficheiro com cat ao correr script e manter definidas variáveis

daniel
danueli

(usa Ubuntu)

Enviado em 10/06/2017 - 17:38h

msoliver escreveu:

Boa tarde.
Dei a dica para isso funcionar, no tópico anterior...

att.:
mso


Atenção. Não estou perguntar isso! Quero saber mesmo como é que faço para que todas as variaveis $XPTO mantenham-se no cat e não assuma como variável para que crie o ficheiro submenu e as variaveis $. Não sei se me estou a fazer entender.



Ao executar o menu.sh irá criar o submenu.sh com o seguinte conteudo:
submenu.sh
#!/bin/bash
. VARS
echo "Qual o nome2?"
read NOME2
echo $NOME2
echo $IDD
echo "Homem ou Mulher?"
read MF
echo "MF=$MF" >> /root/VARS


Como está actualmente fica assim.
#!/bin/bash
echo "Qual o nome2?"
read NOME2
echo
echo 21
echo "Homem ou Mulher?"
read MF
echo "MF=" >> /root/VARS



4. Re: Criar ficheiro com cat ao correr script e manter definidas variáveis

daniel
danueli

(usa Ubuntu)

Enviado em 10/06/2017 - 23:34h

Pessoal consegui resolver!!!!
Para quem poderá precisar.... aqui fica a dica :)

Se quer escrever (Nao PASSAR o value) a variavel em ficheiro então terá que usar a \ (sim para a esquerda)
echo '\$NOME2' 

assim ele vai passar o "$NOME2" para o submenu.sh.
sem a barra ( \ ) irá passar a variavel digitada actualmente (se estava em branco, irá escrever branco, se foi escrito "rodizio" irá aparecer "rodizio") !!!

Espero ter explicado ou ajudado alguem!! :)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts