如何在Here Document之后给出参数?

Pan*_*hen 5 python bash heredoc

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

python <<'__SCRIPT__'
...
__SCRIPT__
ARG1 ARG2 ...
Run Code Online (Sandbox Code Playgroud)

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

那么正确的方法是什么?

BR,RUOCHEN

Ign*_*ams 7

参数是命令的一部分.

python - arg1 arg2 << ...
Run Code Online (Sandbox Code Playgroud)

  • ...你认为Python给出的论点是什么? (2认同)
  • 哦,我在ARGS之前省略了' - '.非常感谢大家. (2认同)

ara*_*aer 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']
Run Code Online (Sandbox Code Playgroud)