如何在 bash 中使用多行 <<EOF 并将输出分配给变量?[复制]

How to use multiline <<EOF in bash with assigning output to variable? [duplicate]

提问人:rzlvmp 提问时间:10/5/2022 更新时间:10/5/2022 访问量:683

问:

假设我有一个代码,如下所示:

python <<EOF
print("abc")
EOF

我想将输出分配给 bash 变量。像这样:

VAR=$(python -c 'print("abc")')

当然,真正的 python 代码比这里不能使用单行代码更复杂print(abc)

那么问题是如何将第一个示例的输出分配给变量?

我尝试了一些变体

VAR=$(python <<EOF
print("abc")
EOF )

VAR=$(python) <<EOF
print("abc")
EOF

但这种语法不正确

BASH EOF

评论

2赞 Jetchisel 10/5/2022
将收盘价放在收盘价之后或下方,在旁注上,您可以引用开盘价,例如 因此,shell 中的特殊字符不会被扩展/插入)EOFEOF'EOF'
1赞 Jetchisel 10/5/2022
PAGER='less +/^[[:space:]]*Here\ Documents' man bash

答:

0赞 dubafek 10/5/2022 #1

我这样做是在新行中添加右括号。这对我有用:

VAR=$(python <<EOF
print("abc")
EOF
)

希望对您有所帮助