Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Azure函数中执行*nix或BASH源代码?_Python_Azure_Azure Functions - Fatal编程技术网

Python 如何在Azure函数中执行*nix或BASH源代码?

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

我已经用Python编写了Azure函数,并且知道还有对其他流行方言的官方支持——JS、Java、.NET等。但是,我有一个特殊的场景,我希望执行一些最初用bash编写的函数,或者能够访问诸如calc、sed、awk等*nix实用程序

我知道Azure功能是为了抽象服务器甚至环境,但是有没有一种方法可以安装和运行类似*nix的实用程序或者任何EXE,因为*nix可以端口

我正在玩弄的一些想法:

在我的python项目的/bin文件夹中包含二进制文件, 然后使用以下方法调用它:

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设置您自己的环境变量