9

我想通过“Here Document”在我的 bash shell 脚本中的一些参数之后执行一个 python 脚本,如下

python <<'__SCRIPT__'
...
__SCRIPT__
ARG1 ARG2 ...

但不知道如何给出这些论点。我尝试将它们放在 python 之后,在SCRIPT之后和SCRIPT之后的新行之后。但是在执行时,所有情况下都会报告错误。

那么正确的方法是什么?

BR,若尘

4

2 回答 2

9

参数是命令的一部分。

python - arg1 arg2 << ...
于 2013-11-08T08:19:33.053 回答
5

<<__SCRIPT__实际上不是传递给 python 的脚本,它是包含脚本的流。您必须告诉 python 从哪里获取脚本,-在这种情况下。这就是为什么python - arg1 arg2 <<'__SCRIPT__'

$ cat here-py.sh
python - foo bar <<__SCRIPT__
import sys
print(sys.argv)
__SCRIPT__
$ ./here-py.sh
['-', 'foo', 'bar']
于 2013-11-08T09:52:24.097 回答