shell调用python脚本并向其中传值 shell 读取配置文件

调用python脚本向其中传值

  • 可以使用python的sys模块
  • sy.argv获取参数值


import sys

sys.argv[1]   # 获取传递进脚本的第一个参数

调用:

python  脚本名 传值

我的python脚本名是sys.py
python sys.py 1
输出就是:
1

如果是多个值就按照书序来进行

sys.py


# -*-encoding:utf-8 -*-
  
import sys


print sys.argv

print sys.argv[1]  # 输出第一个传递来的值
print sys.argv[2]
print sys.argv[3]  # 输出第三个传递来的值

执行:

 python sys.py 1 2 3

输出:



['sys.py', '1', '2', '3']
1
2
3

shell 读取配置文件

  • shell也可以循环读取配置文件并且取出我们想要的key value

配置文件: env.conf

# 1对  mq发消息  0不发消息
app-cart-service=2067=0
app-city-service=2066=1
app-code-service=2065=0
app-coupon-service=2064=0
app-exceorder-service=2063=0
app-hp-service=2062=0
app-inventory-service=2061=0
app-limit-service=2060=0
app-mailsms-service=2059=0
app-map-service=2058=0
app-order-service=2056=0
app-other-service=2055=0
app-presell-service=2054=0
app-prize-service=2053=0
app-processor-service=2057=0
app-small-service=2052=0
app-task-service=2068=0
app-user-service=2050=1

  • sehll 读取值 先切割再去读取值

grep key 文件名 | cut -d 区分的标志符号 -f+需要的是第几位

eg:
	例如想要env.text文件的app项目以=号区分的第二位就是
	grep app env.text|cut -d'=' -f2

  • shell 脚本读取我们的第二个等号后面的值
# !/bin/bash
log=./log


v=`grep app-code-service env.conf|cut -d'=' -f3`  取出第三位的值 以等号切割
echo $v >> ${log}

你可能感兴趣的:(python源码分析)