Shell 在单行命令行中执行 Python 多行语句/整段代码

背景

在特定场景下

如我们需要在指定平台运行定时任务或执行脚本

但是该平台所配置的执行器我们无法选择使用指定版本/指定环境 Python 来执行脚本

但此时该平台是可以使用 shell 来作为执行器的。

那么是否可以以此为突破口呢?

只要我们知道指定版本/指定环境 Python 的路径那肯定是 ok 的!

解决方案

首先,shell 中我们一般是这样运行 python 脚本的:python test.py

那么,取个巧,我们把 test.py 做一下输入重定向不就行了?

需要考虑的是,由于 python 代码可能会存在换行啊单双引号等情况,我们怎么把它们优美地处理下。

经查阅,美化如下:

python << EOF

for i in rang(5):
    print(f'--- {i} ---')

if __name__ == '__main__':
    print(f'正常填入要执行的python代码即可')

EOF

至于剩下的给 shell 脚本添加 # !/bin/bash 头部之类的脚本细节这里就不补充了

都是些小问题 φ(゜▽゜*)♪

参考链接

Table of Contents