我得到了bash入门脚本,该脚本从某些env文件中获取独特的工具。 然后我继续运行将使用这些脚本的python脚本。
output=$(source $envPath 2>&1)
在输出变量中给我文本输出,但是将来当我最终运行python脚本(通过该bash脚本)时,我无法访问.env文件中的源工具。
它对于单个source $envPath
来说很好用,可以访问python脚本,但是我无法读取该源的输出。
output=""
# source $envPath >$output # doesnt work
# source $envPath | $output # doesnt work
echo $output
我需要输出来验证它并执行正确的操作
答案 0 :(得分:1)
我认为这个问题与python不相关,而是一个纯粹的shell语法问题。
export output=`source $envpath`
应该做。
答案 1 :(得分:1)
将输出保存到临时文件中,您可以从中填充变量:
1.sh
#!/bin/bash
tmp=$(mktemp)
. 2.sh > "$tmp"
output=$(< "$tmp")
echo "$output"
echo "$EXPORTED"
2.sh
echo 123
EXPORTED=1
1.sh
的输出:
123
1