#!/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只鸡
答案 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。