在bash中输出mysql命令而不是在新行中

时间:2013-07-26 07:27:18

标签: mysql bash

我在bash中尝试以下mysql命令

#!/bin/bash
k=`echo SHOW COLUMNS FROM dsac000 \; | mysql -ulogin -ppw -A db`
echo $k

但我得到以下

Field Type Null Key Default Extra ID bigint(20) NO NULL DSAC0SEQU decimal(11,0) NO NULL DSAC0STAC varchar(3) YES NULL DSAC0N010 bigint(20) YES NULL DSAC0N011 varchar(50) YES NULL DSAC0N012 varchar(15) YES NULL DSAC0N013 int(11) YES NULL DSAC0N014 varchar(30) YES NULL DSAC0N015 varchar(26) YES NULL DSAC0A00N varchar(40) YES NULL DSAC0A00P varchar(60) YES NULL DSAC0DNAI date YES NULL DSAC0STAT varchar(3) YES NULL ....

通常情况下,我必须得到如下布局:

http://www.c-sharpcorner.com/UploadFile/65fc13/some-help-and-show-commands-in-mysql/Images/img-4.gif

我尝试添加--table

#!/bin/bash
k=`echo SHOW COLUMNS FROM dsac000 \; | mysql -ulogin -ppw --table -A db`
echo $k

但输出仍然在一行

+-------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------+------+-----+---------+----------------+ | ID | bigint(20) | NO | | NULL | | | DSAC0SEQU | decimal(11,0) | NO | | NULL | | | DSAC0STAC | varchar(3) | YES | | NULL | | | DSAC0N010 | bigint(20) | YES | | NULL | | | DSAC0N011 | varchar(50) | YES | | NULL | | | DSAC0N012 | varchar(15) | YES | | NULL | | | DSAC0N013 | int(11

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:6)

echo "$k"

请注意"

周围的$k

请参阅this question

答案 1 :(得分:2)

尝试在mysql命令中添加--table选项。