shell脚本调用python脚本,获取python返回值并且做字符串的切分

#!/usr/bin/python
# coding=utf-8

import sys
import pymysql

#pymysql连接mysql
def getmsg():
    sysconn = pymysql.connect(
        host='192.168.1.3',
        port=3306,
        user='xxx',
        password='123123',
        db='xxx_table',
        charset='utf8'
    )

    #sql语句的拼接
    read_sql = "select concat(db_name,'.',tabname) from sys_table where is_change=0"

    #获取数据库游标cursor
    cur = sysconn.cursor()

    #mysql执行sql
    cur.execute(read_sql)

    #获取返回的结果
    all_talbes = cur.fetchall()

    #将所有的table拼成一个长串返回
    modify_table_string = ""
    for curr_table in all_talbes:
        modify_table_string = curr_table[0]+";"+modify_table_string

    return modify_table_string

if __name__ == '__main__':
    tbset = getmsg()
    print(tbset)
#!/bin/bash

#shell接收python脚本返回的字符串
table_string=`python3 /home/user/data/read_tag.py`

#echo "----从python接收过来的参数---->${table_string}"

i=0
while((1==1))
do
        ((i++))

        #将table_string按照‘;’进行切分,取第i个显示
        #cut命令 -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
        #cut命令 -f:显示指定字段的内容;

        split_c=`echo $table_string|cut -d ";" -f$i`  
        
        if [ "$split_c" != "" ]        #当被分割的split_c不为空字符串时
        then
                echo "---shell字符切分--->${split_c}"
        else
                break
        fi
done

以上分别是 read_tag.py 与 read_tag.sh的内容,read_tag.sh 调用 read_tag.py

你可能感兴趣的:(技术资源,linux,shell,python)