gpt4 book ai didi

python - zsh:在 zsh 脚本中的heredoc之后转义换行符

转载 作者:太空宇宙 更新时间:2023-11-03 18:19:26 25 4
gpt4 key购买 nike

我正在尝试编写一个 zsh 脚本,其中包含一个带有参数的 python 1-liner。

#!/bin/zsh

foo_var="foo"

python -c "import sys; print sys.argv" $foo_var

(这不是我的实际代码,但这是我正在做的事情的要点。)

该代码输出以下内容:

['-c', 'foo']

一个衬垫比我想要的要长一点,所以我把它放在一个heredoc中,如下所示:

#!/bin/zsh

bar_var="bar"

python << EOF
import sys
print sys.argv
EOF
$bar_var

(同样,不是我的实际代码,而是相同的想法。)

输出:

['']
./doctest.zsh:14: command not found: bar

我需要将 $bar_varpython 放在同一行,这样它将作为参数传递,但我不能在同一行上放置任何内容第二个“EOF”。我在heredoc之前也不能有任何东西,因为python会将其解释为文件名。

有没有办法解决第二个 EOF 之后的强制换行问题,或者更好的是,通常有更好的方法来做到这一点吗?

(这也是我的第一篇 SO 帖子,所以如果我在这方面做错了什么,请告诉我)

最佳答案

这可能会满足您的要求:

python - $bar_var << EOF 
import sys
print sys.argv
EOF

关于python - zsh:在 zsh 脚本中的heredoc之后转义换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com