首页 > 解决方案 > 无法在 Windows 上使用 os.system() 调用 bash 脚本

问题描述

我有一个非常简单的 bash 脚本test.sh,如下所示

#!/usr/bin/env bash
mkdir "/c/AAA"

我想在 python 中执行这段代码。当我os.system(r"Y:\test.sh")在 python 中调用时,会弹出一个窗口并询问我要打开哪个程序test.sh。然后 python 将以输出 0 结束,并且在我的 C 驱动器中没有创建任何文件夹。我在网上找不到任何解决方案。任何帮助将不胜感激。:)

在此处输入图像描述

标签: pythonbashshellos.system

解决方案


os.system() 会像 windows cmd 一样调用你的命令,在这种情况下,windows 不知道如何执行 *.sh 文件,所以它会打开它的默认对话框,这样你就可以选择一个你知道可以的程序运行它。

如果您打开 Windows 终端并尝试调用此类文件,也会发生同样的情况。

如果您的窗口有 bash 解释器,请尝试像这样调用它:

os.system("bash Y:\test.sh")

推荐阅读