Você pode fazer algo assim:
#! bin/bash
selectvar="SELECT * FROM test;"
mysql --user=root --password=mypass database << eof
$selectvar
eof
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?
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'
Tags bash mysql shell-script