2015-03-19 63 views
0

嗨我试图编写一个别名来创建一个数据库,(它实际上将成为一个更大的本地开发设置别名的一部分),我想知道如何将命令从别名传递到MYSQL命令行。创建数据库的终端函数。 Bash到Mysql?

这里是我迄今为止

function createDB() 
{ 
     /Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot; 
     CREATE DATABASE $1; 
     \q; 
} 

alias crDB=createDB; 

所以,我可以打电话

crDB test 

但问题是,它运行的第一线,然后打开mysql命令行工具和做在mysql命令行退出之前不要执行更多的命令。

回答

0

要执行的命令,你可以使用-e开关:

function createDB() 
{ 
    /Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot -e "CREATE DATABASE $1" 
} 

您也不妨括在反引号的数据库名称,应进行转义:

"CREATE DATABASE \`$1\`" 
+1

曾为正是我想要的它,非常感谢! – jthawme 2015-03-19 12:05:32