我有一个如下所示的mysql表
+------------+-------------+------+-------------+
| encryption | login_path | port | backup_code |
+------------+-------------+------+-------------+
| NULL | mysqlbackup | 3306 | BAK_5_9 |
| | mysqlbackup | 3306 | BAK_22_04 |
| NULL | mysqlbackup | 3306 | BAK_0_4 |
| NULL | mysqlbackup | 3306 | bak_1_04 |
| NULL | mysqlbackup | 3306 | BAK_2_14 |
| NULL | mysqlbackup | 3306 | BAK_0_4 |
| | mysqlbackup | 3306 | BAK_23_04 |
| no | mysqlbackup | 3306 | bak_01_0 |
我想使用shell脚本来触发查询以获取具有列名和相应值的结果。我想遍历每一行,并将列名作为变量,并将相应的列值分配为其值,如下所示
所以当我回显“ $ encryption”时,它应该输出“ NULL”,而$ login_path应该输出“ mysqlbackup”
我已经使用下面的代码获取结果了
mysql -NBe "SELECT CONCAT_ws('@$@', encryption,login_path,port,backup_code) FROM test" | while IFS='@$@' read -r encryption login_path port backup_code;
do
echo "$encryption $login_path $port $backup_code"
done
现在我想要实现的是这个。我将mysql查询更改为
mysql -NBe "SELECT * FROM test" | while IFS='@$@' read -r * ;
do
echo "$encryption $login_path $port $backup_code"
done
是否可以使用shell脚本自动识别所有列名并为其分配相应的值