Gravar variaveis em ficheiro e puxar essas variaveis nesse ficheiro com outro script [RESOLVIDO]

1. Gravar variaveis em ficheiro e puxar essas variaveis nesse ficheiro com outro script [RESOLVIDO]

daniel
danueli

(usa Ubuntu)

Enviado em 04/06/2017 - 17:32h

Boa noite amigos linuxianos!

Ando aqui com um problema que provávelmente estou a complicar! Estou a usar debian 8.

Tenho 2 scripts menu.sh e submenu.sh e um ficheiro VARS onde vai salvar as variáveis.

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
reboot

Depois de reiniciar e fazer logon, correr script submenu.sh
submenu.sh
#!/bin/bash
./VARS
echo $NOME
echo $IDD

Após reiniciar e executar o submenu.sh os valores do echo ficam em branco.
Onde está a falhar o meu raciocinio?

OBS: Todos ficheiros têm permissoes 777 (por causa das tosses hehehe)

Abraço!


  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 07/06/2017 - 11:33h

"./VARS" vai (tentar) executar o script VARS a partir do diretório corrente, mas o fará num processo separado, de modo que qualquer alteração no valor das variáveis vai valer apenas nesse outro processo, não no processo original.

Provavelmente você quis dizer “. /root/VARS” (note o espaço após o ponto). O comando “.” faz com que o shell atual execute uma sequência de comandos como se eles fizesse parte do mesmo contexto em que tal comando se encontra.

3. Re: Gravar variaveis em ficheiro e puxar essas variaveis nesse ficheiro com outro script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/06/2017 - 18:07h

danueli escreveu:

Boa noite amigos linuxianos!

Ando aqui com um problema que provávelmente estou a complicar! Estou a usar debian 8.

Tenho 2 scripts menu.sh e submenu.sh e um ficheiro VARS onde vai salvar as variáveis.

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
reboot

Depois de reiniciar e fazer logon, correr script submenu.sh
submenu.sh
#!/bin/bash
./VARS
echo $NOME
echo $IDD

Após reiniciar e executar o submenu.sh os valores do echo ficam em branco.
Onde está a falhar o meu raciocinio?

OBS: Todos ficheiros têm permissoes 777 (por causa das tosses hehehe)
Abraço!


Boa noite.
Para ver as variáveis, altere o submenu.sh, para:
submenu.sh
#!/bin/bash
eval $(cat /root/VARS)
echo -e "$NOME\n $IDD"

Att.:
marcelo oliver



4. Re: Gravar variaveis em ficheiro e puxar essas variaveis nesse ficheiro com outro script [RESOLVIDO]

daniel
danueli

(usa Ubuntu)

Enviado em 10/06/2017 - 13:39h

Obrigado a ambas as respostas! Optei pela solução do paulo1205

5*