6

从 bash 脚本执行命令时,MySQL 输出格式存在问题。

如果我在命令行上执行命令,那么我可以按预期格式获得输出。

$ mysql -u dbclient -pxxxx GEKONYLOGDB -e "select now(),max(time_stamp) from metrics"
+---------------------+---------------------+
| now()               | max(time_stamp)     |
+---------------------+---------------------+
| 2012-12-09 14:25:38 | 2012-12-09 14:25:20 |
+---------------------+---------------------+

但是,就好像我在脚本中保留相同的命令并执行一样,我没有得到格式化的输出。

$ cat test
#!/bin/bash
mysql -u dbclient -pxxxx GEKONYLOGDB -e "select now(),max(time_stamp) from metrics"

$ ./test
now()   max(time_stamp)
2012-12-09 14:27:52     2012-12-09 14:27:47 

所以我只需要脚本的相同输出。

谢谢。

4

2 回答 2

13

通过-tor--table选项强制表格输出。

mysql --table -u dbclient -pxxxx GEKONYLOGDB -e "select now(),max(time_stamp) from metrics"

来自mysql --help

  -t, --table         Output in table format.
于 2012-12-09T19:34:50.377 回答
0

如果您想在调用 mysql 程序时默认启用 --table 选项,请查看这个 SO 答案How to store MySQL results to a file in table format

于 2019-10-15T13:04:20.677 回答