MYSQL的输出与脚本不同

时间:2012-12-09 19:33:09

标签: mysql linux bash

从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 

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

感谢。

2 个答案:

答案 0 :(得分:12)

-t--table选项传递给强制表输出。

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

来自mysql --help

  -t, --table         Output in table format.

答案 1 :(得分:0)

如果要在调用mysql程序时默认启用--table选项,请检查此SO答案How to store MySQL results to a file in table format