mysqladmin命令以字节为单位返回值。如果它大于1 MB(1048576字节),我希望看到以MB为单位的值。
$ mysqladmin variables
+---------------------------------+----------------------------------+
| Variable_name | Value |
+---------------------------------+----------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
...
| interactive_timeout | 14400 |
| join_buffer_size | 10481664 |
| key_buffer_size | 1073741824 |
我可以一次保存和计算每个变量。但是如何以MB显示所有值?
myval1=$(((`mysqladmin variables | grep '\<key_buffer_size\>' | awk '{print $4}'`)/1048576))
答案 0 :(得分:2)
脱离我的头脑,这样的事情会起作用:
#!/bin/bash
if [ "$1" = variables ]; then
/moved/elsewhere/mysqladmin $* | awk '{ sz=$4; if (sz>1048576)
{ sz=sz/1048576 "Mb"; }
print $1 $2 $3 sz $5; }'
else
/moved/elsewhere/mysqladmin $*
fi