shell脚本从python程序获取输入

时间:2012-08-30 20:21:05

标签: python shell input

我有一个运行python程序的shell脚本,它有自己的参数:

#!/bin/bash
python blah.py var1 var2
./run key

我需要找到一种从python程序中检索key内容的方法。我试过让python程序返回值,然后执行:

key=python blah.py var1 var2

在我的shell脚本中,但是没有用,因为它声明键是“在函数之外”。

提前致谢

4 个答案:

答案 0 :(得分:2)

使用此

key=`python blah.py var1 var2`
./run $key

答案 1 :(得分:2)

你可以这样做:

./run $( python blah.py var1 var2 )

$( )语法打开子shell,然后运行命令。然后将stdout输出转储到其位置

答案 2 :(得分:0)

单线演示:
(好吧,所以这是两行)

$ key=`python -c 'print "hi"'`
$ echo $key

答案 3 :(得分:0)

修改python脚本以输出key变量值的另一种方法是修改python脚本以调用run程序

import subprocess
# ... calculations, and set the "key" variable ...
subprocess.call(["./run", key])