实际应用中用到利用shell脚本执行一系列与mysql表中数据相关的操作,因此需要将mysql表中数据作为shell脚本参数。shell脚本如下:
hostname=ipaddress
port="3306"
username="abcd"
password="123456"
select_sql="select distinct a,':',b,':',c,';' from a.bc where c='$1'"
#此处采用awk命令去除了标题显示,也可以用${result##*str}方式去除,str为字段最后一个字母result=`mysql -h${hostname} -P${port} -u${username} -p${password} -e "${select_sql}" | awk 'NR>1'`
#去除结果字符串中的特殊字符
arr=$(echo $result|tr -d '\n','\t',' ')
#采用参数存储旧的IFS变量,后续会用到
OLD_IFS="$IFS"
#改变IFS变量为查询中每条记录的结尾字符
arr1=($arr)
IFS=$OLD_IFS
for s in ${arr1[@]}
do
#echo $s
OLD_IFS="$IFS"
IFS=":"
arr2=($s)
IFS=$OLD_IFS
#此处即可采用下标进行选取每个字段并进行赋值了。
echo ${arr2[1]}done
这个脚本花了快一天才搞定。。。自己水平较low..。。。仅供大家参考。不对之处或有简单方法大家互相交流下。。