Python 如何在Azure函数中执行*nix或BASH源代码?
我已经用Python编写了Azure函数,并且知道还有对其他流行方言的官方支持——JS、Java、.NET等。但是,我有一个特殊的场景,我希望执行一些最初用bash编写的函数,或者能够访问诸如calc、sed、awk等*nix实用程序 我知道Azure功能是为了抽象服务器甚至环境,但是有没有一种方法可以安装和运行类似*nix的实用程序或者任何EXE,因为*nix可以端口 我正在玩弄的一些想法: 在我的python项目的/bin文件夹中包含二进制文件, 然后使用以下方法调用它:Python 如何在Azure函数中执行*nix或BASH源代码?,python,azure,azure-functions,Python,Azure,Azure Functions,我已经用Python编写了Azure函数,并且知道还有对其他流行方言的官方支持——JS、Java、.NET等。但是,我有一个特殊的场景,我希望执行一些最初用bash编写的函数,或者能够访问诸如calc、sed、awk等*nix实用程序 我知道Azure功能是为了抽象服务器甚至环境,但是有没有一种方法可以安装和运行类似*nix的实用程序或者任何EXE,因为*nix可以端口 我正在玩弄的一些想法: 在我的python项目的/bin文件夹中包含二进制文件, 然后使用以下方法调用它: from subp
from subprocess import call
call(["cal", "-y"])
问题;我可以在不部署自己的二进制文件的情况下执行此操作吗
TL;DR:如何在Azure函数中执行自己的二进制文件和访问Shell?显然,Azure函数正在Windows服务器上运行 经过研究,我发现azure服务器预先加载了git bash 您可以在Kudu上找到以下路径:
D:\Program Files (x86)\Git
如果要在windows上运行*nix命令计算,需要下载执行文件并将其上载到Kudu
然后将当前目录添加到环境变量中
D:\home\site\mybin>set PATH=D:\home\site\mybin;%PATH%
请确保在变量D:\Windows\System32之前添加环境变量;以便您可以覆盖Windows自己的calc命令
核实:
在Python中执行calc命令时,请使用os.environ和os.putenv设置您自己的环境变量