2

I am trying the following mysql command in bash

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

But I get the following

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 ....

Normally I have to get a layout like below:

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

I tried adding --table

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

But output still remains on one line

+-------------+---------------+------+-----+---------+----------------+ | 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

Can anyone help me with this problem?

Ozkan
  • 3,880
  • 9
  • 47
  • 78

2 Answers2

6
echo "$k"

Notice the " around $k

See this question

Community
  • 1
  • 1
RedBaron
  • 4,717
  • 5
  • 41
  • 65
2

Try adding the --table option to your mysql command.

Daniel
  • 10,115
  • 3
  • 44
  • 62
  • Then it adds the characters for columns like pipes. But everything still remains on one line. – Ozkan Jul 26 '13 at 07:40