Невозможно вызвать скрипт bash с помощью os.system () в Windows - PullRequest
0 голосов
/ 28 октября 2019

У меня очень простой bash-скрипт test.sh, как показано ниже

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

Я хочу выполнить этот код на python. Когда я вызываю os.system(r"Y:\test.sh") в python, появляется окно и спрашивает меня, с какой программой я хочу открыть test.sh. Затем python завершится выводом 0, и на моем диске C не будет создано ни одной папки. Я не могу найти решение онлайн. Любая помощь будет оценена. :)

enter image description here

Ответы [ 2 ]

2 голосов
/ 28 октября 2019

os.system () будет вызывать вашу команду так же, как Windows cmd, в этом случае Windows не знает, как выполнять файлы * .sh, поэтому открывает диалоговое окно по умолчанию, поэтому вы можете выбрать одну программу, котораявы знаете, можете запустить его.

То же самое произойдет, если вы откроете терминал Windows и попытаетесь вызвать такой файл.

Если в ваших окнах есть интерпретатор bash, попробуйте вызвать его так:

os.system("bash Y:\test.sh")
0 голосов
/ 28 октября 2019

Вместо запуска с интерпретатором Python для Windows, запустите его с Cygwin-копией Python с os.system(), которая будет вызываться с Cygwin /bin/sh.

...