python 如何调用带参数的shell脚本
2012-08-22 17:18
756 查看
举例:
shell的脚本:
t.sh内容:
echo "this is a test shell with arguments"
echo "arg1 = $1; arg2 = $2;"
执行脚本./t.sh zhao
结果如下:
python脚本:
运行脚本:python t.py t.sh
执行结果:
说明:
两种方法使用python脚本调用shell脚本:
第一种方法:
注:./t.sh后面有一个空格,不同的
第二种方法:
注:在之前把字符串聚合到一起。
其中连接字符串还可以使用这个方法:
shell的脚本:
t.sh内容:
echo "this is a test shell with arguments"
echo "arg1 = $1; arg2 = $2;"
执行脚本./t.sh zhao
结果如下:
[noncode@gnode108 knockdown_workflow]$ ./t.sh zhao1 zhao2 this is a test shell with arguments arg1 = zhao1; arg2 = zhao2;
python脚本:
[noncode@gnode108 knockdown_workflow]$ cat t.py #!/usr/bin/env python import os import sys 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] arg1 = sys.argv[1] print "arg0 = %s; arg1 = %s" % (arg0, arg1) print "test ./t.sh: " os.system('./t.sh ' + arg0 + ' ' + arg1) print "test method of replacing: " t = 't.sh' m = 'zhao' n = 'zhao' cmd = "./%s %s %s" % (t,m,n) print "t = %s; m = %s; n = %s; cmd = %s" % (t,m,n,cmd) os.system(cmd) if __name__ == '__main__': main()
运行脚本:python t.py t.sh
执行结果:
[noncode@gnode108 knockdown_workflow]$ python t.py t.sh
Hello world!
arg0 = t.py; arg1 = t.sh
test ./t.sh:
this is a test shell with arguments
arg1 = t.py; arg2 = t.sh;
test method of replacing:
t = t.sh; m = zhao; n = zhao; cmd = ./t.sh zhao zhao
this is a test shell with arguments
arg1 = zhao; arg2 = zhao;
[noncode@gnode108 knockdown_workflow]$ cat t.sh
echo "this is a test shell with arguments"
echo "arg1 = $1; arg2 = $2;"
[noncode@gnode108 knockdown_workflow]$ ./t.sh zhao1 zhao2 this is a test shell with arguments arg1 = zhao1; arg2 = zhao2;
说明:
两种方法使用python脚本调用shell脚本:
第一种方法:
os.system('./t.sh ' + arg0 + ' ' + arg1)
注:./t.sh后面有一个空格,不同的
第二种方法:
t = 't.sh' m = 'zhao' n = 'zhao' cmd = "./%s %s %s" % (t,m,n) print "t = %s; m = %s; n = %s; cmd = %s" % (t,m,n,cmd) os.system(cmd)
注:在之前把字符串聚合到一起。
其中连接字符串还可以使用这个方法:
t = 't.sh' m = 'zhao' n = 'zhao' cmd1 = os.path.join("./", t, ' ', m, ' ', n) print "cmd1 = %s" % cmd1
os.system('./t.sh ' + arg1) print "replace:" t = 't.sh' m = 'zhao' cmd = "./%s %s" % (t,m) print "t = %s; m = %s; cmd = %s" % (t,m,cmd) os.system(cmd)
相关文章推荐
- shell调用python脚本,并且向python脚本传递参数
- python调用其它脚本:pig,python,shell等等 (如何获取pig脚本执行的返回值)
- python调用其它脚本:pig,python,shell等等 (如何获取pig脚本执行的返回值)
- java jsp调用shell(带参数)脚本并返回值
- python调用Shell脚本:os.system(cmd)或os.popen(cmd)【转】
- python中如何调用shell 中OS.SYSTEM等方法
- python调用shell脚本方法
- Java代码中调用shell脚本和python脚本并获得输出结果(分为小数据量和大数据量)
- 如何在java程序中调用linux命令或者shell脚本
- Java调用shell脚本传带空格参数
- 【如何使用shell 脚本调用java进程】
- shell脚本中实现脚本a里面的函数调用脚本b中的函数参数-用到source关键字
- python中如何调用shell 中OS.SYSTEM等方法
- 如何在shell脚本中调用expect实现自动化
- python调用Shell脚本:os.system(cmd)或os.popen(cmd),
- kshell 如何传递参数给shell和调用参数 以及设置参数的默认值
- 如何在java程序中调用linux命令或者shell脚本
- java调用shell脚本并传递参数
- [Python陷阱]os.system调用shell脚本获取返回值
- Shell脚本通过参数传递调用指定函数