我的 bash 脚本查询 mysql
数据库 3 次,并将每次查询的标准输出重定向到一个文件(总共 3 个不同的文件,具有不同的列结构)。
我希望它询问 mysql
密码,因为对我来说重要的是不要将密码保存在脚本或磁盘上。
如何在同一个 mysql
session 中包含所有查询和标准输出重定向,以避免 3 次询问密码?
这是我现在拥有的:
#!/bin/bash
mysql -h database.com -u user -p -e "USE database; mysql query1" > file1
mysql -h database.com -u user -p -e "USE database; mysql query2" > file2
mysql -h database.com -u user -p -e "USE database; mysql query3" > file3
最佳答案
您可以使用 tee
和 notee
命令并编写一个查询文件,比如 queries.sql
并一次性调用它:
use database
tee file1
query1
notee
tee file2
query2
notee
tee file3
query3
notee
然后调用它:
mysql -h database.com -u user -p -e "source queries.sql" > /dev/null
相关:
关于mysql - 在同一 mysql session 中具有多个查询和重定向的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50444913/