Bash

如何從帶有 bash 變數的 shell 腳本執行 MYSQL 腳本?

  • December 3, 2015

我正在製作一個連接到數據庫的腳本,查找一個值,然後如果該值返回了某些內容,那麼我將執行其他操作。

ip=$("variable is defined here")

然後我使用以下命令連接到 MYSQL 數據庫:

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

但是,這會將我帶到另一個提示,我需要從中執行另一個命令,但我無法讓它工作。

我試過這個:

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

並且只是:

MYSQL arguments;

這些都不起作用,我必須向它傳遞一個變數,我現在能做什麼?

你可以這樣做:

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

mysql --user=root --password=mypass database << eof 
$selectvar
eof

要在沒有互動式提示的情況下從命令行執行語句,請使用以下-e選項:

mysql mydb -e 'select * from foo'

引用自:https://unix.stackexchange.com/questions/169560