Como executar scripts MYSQL a partir de um script shell com variáveis bash?

1

Estou fazendo um script onde me conecto a um banco de dados, procuro por um valor e, em seguida, se esse valor retornar algo, farei outra coisa.

ip=$("variable is defined here")

Em seguida, conecto-me ao banco de dados MYSQL usando:

/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot --password=*

No entanto, isso me leva a outro prompt, e eu preciso executar outro comando a partir disso, não consigo fazê-lo funcionar.

Eu tentei isso:

/Applications/MAMP/Library/bin/mysql "MYSQL argumens;";

e apenas:

MYSQL arguments;

Nenhum desses trabalhos e eu tenho que passar uma variável para ele, o que posso fazer agora?

    
por DisplayName 23.11.2014 / 18:11

2 respostas

7

Você pode fazer algo assim:

#! bin/bash
selectvar="SELECT * FROM test;"

mysql --user=root --password=mypass database << eof 
$selectvar
eof
    
por 23.11.2014 / 18:21
3

Para executar instruções a partir da linha de comando sem um prompt interativo, use a opção -e :

mysql mydb -e 'select * from foo'
    
por 23.11.2014 / 18:18