Autor Tópico: [RESOLVIDO] Receber parâmetro sql + bash  (Lida 1638 vezes)

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
[RESOLVIDO] Receber parâmetro sql + bash
« Online: 16 de Novembro de 2010, 23:55 »
Fala pessoal.

Estou fazendo um script que é o seguinte:
Eu recebo um e-mail e o script pega esse e-mail, separa "de", "para", "assunto", "prioridade" e por ai vai.
Eu preciso inserir esses dados em um banco de dados que já possuímos.

Infelizmente, eu tenho que pegar o campo "de", acessar um outra tabela e pegar o ID, para jogar na tabela aonde os outros dados vão ser inseridos.

Só que o output está vindo formatado.

O que meu script bash têm: psql -U usuario -h hostname -d banco -c "select *..."

Ah, se possível, há como eu já passar a senha nesse comando ou vou ter que criar um usuário sem senha (perigosíssimo)?
« Última modificação: 17 de Novembro de 2010, 12:02 por bred81 »
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: Receber parâmetro sql + bash
« Resposta #1 Online: 16 de Novembro de 2010, 23:59 »
"-A" me dá a resposta sem estar formatado, mas não da maneira que eu queria.
Citar
************@****:~$ psql -U fferreira -h ******** -d ******* -A -c "select id from ****++.users"
Password for user *********:
id
2
3
5
8
11
9
7
1
6
4
(10 rows)

Tá, já vi que usando o cut -d " " -f 2 vai como eu quero.

Mas, e quanto ao password?
« Última modificação: 17 de Novembro de 2010, 00:03 por bred81 »
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

Offline bred81

  • Usuário Ubuntu
  • *
  • Mensagens: 971
  • HAN?!
    • Ver perfil
Re: [RESOLVIDO] Receber parâmetro sql + bash
« Resposta #2 Online: 17 de Novembro de 2010, 12:04 »
Para não precisar passar a senha:
crie um arquivo na máquina que está usando na pasta
Código: [Selecionar]
/home/`echo $USER`/ chamado
Código: [Selecionar]
.pgpassLá, bote o seguinte:
Código: [Selecionar]
hostname:port:database:username:password
Sete as permissões para esse arquivo:
Código: [Selecionar]
chmod 0600 .pgpass
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...