![](/img/trans.png)
[英]Shell Script: Execute a python program from within a shell script
[英]Execute python code from within a shell script
我想在外壳程序脚本中运行一些python代码。 我不想依靠外部文件来运行。 有什么办法吗?
我做了谷歌搜索吨 ,但目前还没有任何明确的答案。 这段代码是我发现的...但是它依赖于要运行的外部python脚本。 我希望所有内容都在一个文件中。
python python_script.py
您可以使用所谓的“此处文档”:
#!/usr/bin/env bash
echo "hello from bash"
python3 - <<'EOF'
print("hello from Python 3")
EOF
第一个EOF周围的单引号防止了Shell脚本中的常规扩展和命令替换。
如果您希望这些发生,只需将其删除。
如果您的意思是在 BASH Shell脚本中执行任何外部依赖项,那么恐怕您不走运,因为BASH仅解释其自己的脚本语言。
您的问题有点像询问“是否可以在没有JVM的情况下运行Java .class文件”? 显然,您将始终具有JRE / JVM的外部依赖关系。 这是相同的情况,取决于外部Python编译器和解释器。
(可选)您可以选择内联包括python脚本,但是仍然需要python可执行文件。
这有效:
python -c 'print("Hi")'
或者使用BASH重定向:
python <<< 'print("Hi")'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.