您可以通过要求Python解释器打印结果来将函数的结果发送到标准输出:
python -c 'import test; print test.get_foo()'
@H_502_4@
该-c@H_502_4@选项只是要求Python执行一些Python命令。
为了将结果存储在变量中,因此可以执行以下操作:
RESULT_FOO=`python -c 'import test; print test.get_foo()'`
@H_502_4@
或者,等效地
RESULT=$(python -c 'import test; print test.get_foo()')
@H_502_4@
自反引号起,并$(…)@H_502_4@评估命令并用其输出替换它。
:要获取每个功能的结果,都需要使用这种方法每次都解析配置文件。可以通过一次返回所有结果来优化此过程,例如:
ALL_RESULTS=$(python -c 'import test; print test.get_foo(), test.get_bar()')
@H_502_4@
然后可以将结果拆分并放入不同的变量中
RESULT_BAR=$(echo $ALL_RESULTS | cut -d' ' -f2)
@H_502_4@
它以 第二个 结果并将其放入RESULT_BAR@H_502_4@(例如,类似地:
-fn@H_502_4@对于结果#n)。
:正如Pablo Maurin提到的那样,如果可能的话,在一个解释器(Python,但也可能在Shell)中完成所有操作可能会更容易,而不是在一个程序中计算变量并在另一个程序中使用它们。