[RESOLVIDO] Receber parâmetro sql + bash

Iniciado por bred81, 16 de Novembro de 2010, 23:55

tópico anterior - próximo tópico

bred81

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)?
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

bred81

#1
"-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?
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...

bred81

Para não precisar passar a senha:
crie um arquivo na máquina que está usando na pasta /home/`echo $USER`/ chamado .pgpass
Lá, bote o seguinte:
hostname:port:database:username:password

Sete as permissões para esse arquivo:
chmod 0600 .pgpass
O que o Mario foi fazer no pscicólogo?
- Ele estava passando por uma fase difícil...