举例: shell的脚本:
t.sh内容: echo "this is a test shell with arguments" echo "arg1 = $1; arg2 = $2;"
[noncode@gnode108 knockdown_workflow]$ ./t.sh zhao1 zhao2this is a test shell with argumentsarg1 = zhao1; arg2 = zhao2;
python脚本:[noncode@gnode108 knockdown_workflow]$ cat t.py
#!/usr/bin/env python
import os
import sys
# define function, next is a block, every line begins with a 'table' !
def main():
print 'Hello world!'
if len(sys.argv) < 2 :
print "usage:%s config log" %(sys.argv[0])
sys.exit(1)
arg0 = sys.argv[0] # 获取python脚本的运行时的input参数
arg1 = sys.argv[1]
print "arg0 = %s; arg1 = %s" % (arg0, arg1)
print "test ./t.sh: "
os.system('./t.sh ' + arg0 + ' ' + arg1) # 调用shell 命令,用python的变量
# end definition of function
main() # call the function
运行脚本:python t.py t.sh执行结果:[noncode@gnode108 knockdown_workflow]$ python t.py t.sh
Hello world! (python显示) arg0 = t.py; arg1 = t.sh(python显示) test ./t.sh: (python显示) this is a test shell with arguments (shell显示) arg1 = t.py; arg2 = t.sh;(shell显示)
说明:把输入的“t.py t.sh“当成参数,使用python脚本调用shell脚本方法:(推荐)os.system('./t.sh ' + arg0 + ' ' + arg1)注:./t.sh后面有一个或者多个空格,arg0和arg1之间也要加一个空格。