无法在 Windows 上使用 os.system() 调用 bash 脚本
Unable to call bash script using os.system() on Windows
我有一个非常简单的 bash 脚本 test.sh
如下所示
#!/usr/bin/env bash
mkdir "/c/AAA"
我想在 python 中执行这段代码。当我在 python 中调用 os.system(r"Y:\test.sh")
时,弹出 window 并询问我要用哪个程序打开 test.sh
。然后 python 将以输出 0 结束,并且在我的 C 驱动器中没有创建文件夹。我在网上找不到任何解决方案。任何帮助将不胜感激。 :)
而不是运行使用本地Windows Python解释器,运行它使用Python的Cygwin副本,它有一个os.system()
将使用 Cygwin /bin/sh
.
调用
os.system() 将像 windows cmd 一样调用您的命令,在这种情况下,windows 不知道如何执行 *.sh 文件,所以它会打开它的默认对话框,因此您可以选择一个您知道可以的程序 运行。
如果您打开 windows 终端并尝试调用此类文件,也会发生同样的情况。
如果您的 windows 有一个 bash 解释器,请尝试像这样调用它:
os.system("bash Y:\test.sh")
我有一个非常简单的 bash 脚本 test.sh
如下所示
#!/usr/bin/env bash
mkdir "/c/AAA"
我想在 python 中执行这段代码。当我在 python 中调用 os.system(r"Y:\test.sh")
时,弹出 window 并询问我要用哪个程序打开 test.sh
。然后 python 将以输出 0 结束,并且在我的 C 驱动器中没有创建文件夹。我在网上找不到任何解决方案。任何帮助将不胜感激。 :)
而不是运行使用本地Windows Python解释器,运行它使用Python的Cygwin副本,它有一个os.system()
将使用 Cygwin /bin/sh
.
os.system() 将像 windows cmd 一样调用您的命令,在这种情况下,windows 不知道如何执行 *.sh 文件,所以它会打开它的默认对话框,因此您可以选择一个您知道可以的程序 运行。
如果您打开 windows 终端并尝试调用此类文件,也会发生同样的情况。
如果您的 windows 有一个 bash 解释器,请尝试像这样调用它:
os.system("bash Y:\test.sh")