Jump to content
tcms

Enviar variavel para e-mail

Recommended Posts

tcms

Boas pessoal,

Criei um pequeno shellscript que gera uma password. Depois executo dentro de outro SH esse SH generador.

Neste ultimo, ao executar guardo a pass numa variavel. Depois ao tentar enviar o conteudo dessa variavel uso o seguinte comando:

echo $pwd | mail - s "titulo" "e-mail"

Sendo que $pwd é a minha variavel gerada.

Mas o email enviado vai vazio...

Share this post


Link to post
Share on other sites
rolando2424

Se trocares "$pwd" por uma string qualquer ela aparece no email?

Por exemplo:

echo "foobar" | mail - s "titulo" "e-email"

Repara também que no teu comando tens um espaço entre o "-" e o "s" o que penso ser um bug (a flag que tu queres provavelmente é "-s").

Edited by rolando2424

Não me responsabilizo por qualquer dano ocorrido no seguimento dos meus conselhos. Prontos, a minha pessoa está oficialmente protegida legalmente :D

Share this post


Link to post
Share on other sites
tcms

Sim se meter uma string mesmo, envia...

Mas se meter uma string gerada por um SH já nao

Share this post


Link to post
Share on other sites
rolando2424

Se executares só o script que gera a password, ele funciona?

Onde é que ele coloca a password? No stdout?


Como é que estás a criar a variável "$pwd"? Com algo do estilo isto?

pwd=`sh ./script_gera_password.sh`

echo $pwd | mail - s "titulo" "e-email"


Experimenta mudar o nome da varíavel. É que a bash tem uma variável $PWD (que guarda o teu diretorio atual) e pode estar alguma coisa a correr mal por causa disso. Apesar que as variáveis da shell costumam ser case-sensitive.


Experimenta ir à segunda linha de ambos os script e meteres o seguinte código:

set -x;

Fazer isto deve fazer com que a shell gere um output de debug e possas ver os passos que o programa segue.


Não me responsabilizo por qualquer dano ocorrido no seguimento dos meus conselhos. Prontos, a minha pessoa está oficialmente protegida legalmente :D

Share this post


Link to post
Share on other sites
eatg75

Penso que o problema persiste porque nao estas a colocar a string entre aspas, suponhas que

a string na variavel $pwd contem espacos ao ser interpolado apenas parte da string e utilizada

no contexto onde ela e excutavel.

Nas shells TCSH e CSH os nomes das variaveis de ambiente sao em lowercase e a variavel

que contem o nome da directoria actual e o $pwd, alterando o $pwd poderas estar a fazer com

que a implementacao do comando pwd comporte mal, apesar de existirem variaveis de ambiente

que sao so de leitura e ao serem atribuidos valores geram um erro, e sempre boa pratica nao

atribuir valores a elas porque existem alguns que nao sao so de leitura. As chances de estares a

utilizar a BASH sao bastante elevadas e no BASH o problema mencionado nao se verifica, mas

e sempre bom seguir boas praticas.

O que e a SH? Estao falar da Bourne Shell?


Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.