我想通过“Here Document”在我的bash shell脚本中执行一些python脚本,如下所示
python <<'__SCRIPT__'
...
__SCRIPT__
ARG1 ARG2 ...
但不知道如何提出这些论点。我已经尝试将它们放在python之后,在 SCRIPT 之后,并在 SCRIPT 之后添加一个新行。但是在执行的所有情况下都会报告错误。
那么正确的方法是什么?
BR,RUOCHEN
答案 0 :(得分:7)
参数是命令的一部分。
python - arg1 arg2 << ...
答案 1 :(得分:3)
<<__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']