如何将参数从bash脚本传递给使用python的函数?

时间:2015-12-02 15:17:51

标签: python bash

#!/bin/bash

#=================
function func1 {
#=================

echo "I have chickens"

func2 100

}
#================
function func2 {
#================

number=$1

python << END

print "I have", number, "chickens"

END
}

func1

在bash中我想传递func2一个参数。在func2中我想使用python打印参数。

期望的输出:

我有鸡

我有100只鸡

1 个答案:

答案 0 :(得分:4)

常规bash字符串变量替换有效:

$ export n=3
$ python << END
> print "I have ${n} chickens"
> END

输出:

I have 3 chickens

因此,如果您希望继续(非常不寻常)的方法,则必须非常小心。一种更常见的方法是将Bash和Python程序放在单独的文件中,并使用一些命令行参数从Bash脚本运行Python脚本。然后,您可以通过sys.argv从Python访问它们,或者,如果您想要做更复杂的事情,argparse