需求
写一个支持带参数的shell脚本,查询MySQL指定库和指定表的数据。具体要求如下:
1)用户执行脚本格式不对时,需要提示用户正确的脚本用法
2)第一个参数指定数据库名,必须指定
4)第二个指定表名,必须指定
5)第三个参数指定查询多少行(前N行) ,可以不指定(如果不指定,就查询所有行)
假设,mysql root用户名密码为as64upBwyXpq
实现
#!/bin/bash
passwd=as64upBwyXpq
if [ ! -f /data/dblist.txt ]
then
`mysql -uroot -p$passwd -e "show databases;" | awk '{print $1}' | sed '1'd` > /data/dblist.txt
fi
if [ -z "$1" ]
then
echo "Please use: $0 dbname tbname row"
exit
else
if ! grep -qw $1 /data/dblist.txt
then
echo "The db $1 you input is not exist."
fi
fi
if [ -z "$2" ]
then
echo "Please use: $0 dbname tbname row"
exit
fi
if [ -z "$3" ]
then
mysql -uroot -p$passwd -e "SELECT * FROM $1.$2;"
else
mysql -uroot -p$passwd -e "SELECT * FROM $1.$2 LIMIT $3;"
fi