Python中的命名变量,用于不带临时文件的Bash源中



我正在尝试从Python中获取多个变量,以便用作Bash中的变量。虽然我有python作为源代码,但它可以是任何程序/脚本,但不能是文件。

我可以用一个临时文件获取源代码来完成这项工作。所以我想问题是,如何从脚本输出到源代码?

源python可以输出任意和/或多个key=value,因此简单的x=$(python脚本(是不起作用的。

Python snip示例

print("STARTDATE=" + STARTDATE)
print("STARTTIME=" + STARTTIME)

输出

STARTDATE=06/15/2021
STARTTIME=15:46:21.00

使用临时文件的Bash工作示例

python script > temp.file
source temp.file
echo $STARTDATE

Echo只是在这里进行调试,我会在变量上进行工作

失败的尝试:

source python script

source <(python script)

eval $(python script)

字符串周围需要空格,还需要确保在"因此:

print("STARTDATE="" + STARTDATE + """)
print("STARTTIME="" + STARTTIME + """)

确保您使用的是bash-shell而不是sh,然后您应该能够操作脚本并使用设置变量

source <(./script.py)

或者在脚本中:

#!/bin/bash
source <(./script.py)

最新更新