繁体   English   中英

从 bash-script 运行 sql-command?

[英]Run sql-command from bash-script?

我创建了一个必须更改表引擎的小脚本:

#!/bin/bash

echo "use test_1;" > query.sql

get_list () {
mysql -u teamcity -ppassword -B -N -e 'show tables like "%"' test_1 | xargs -I '{}'     echo "alter table {} engine=innodb;" >> query.sql
}

get_list ;

mysql -u teamcity -ppassword < query.sql

但是 - 如何避免使用query.sql文件? 我用“这里的文档”做了几次尝试 - 但无法解决它......

例如 - 试试这个:

#!/bin/bash

get_list () {
mysql -u teamcity -ppassword -B -N -e 'show tables like "%"' test_1 | xargs -I '{}'     echo "alter table {} engine=innodb;"
}

a="$(get_list)"
b="use test_1;"
c="$b $a"

mysql -u teamcity -ppassword <<< $c

但它不起作用......

将所有内容放在一个函数和管道中:

#!/bin/bash
get_list () {
  echo "use test_1;"

  mysql -u teamcity -ppassword -B -N -e 'show tables like "%"' test_1 | xargs -I '{}' echo "alter table {} engine=innodb;"
}

get_list | mysql -u teamcity -ppassword 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM