1

I am trying to call a git bash shell command from inside Windows operating system. Following is my code snippet. Can anyone please tell me, what I am doing wrong?

    git_bash_path = WindowsPath(r"c:\Users\abcd\AppData\Local\Programs\Git\git-bash.exe")
    command = "ls"
    subprocess.call([str(git_bash_path), command])

After running, the python script, it opens a bash window with the title in the window - /usr/bin/bash --login -i ls and in the git bash window the error is bash:/usr/bin/ls: cannot execute binary file.

I also tried -

    subprocess.check_output(command, shell=True, executable=str(git_bash_path)) 

but the error is the same.

infoclogged
  • 3,141
  • 2
  • 26
  • 49

1 Answers1

1

It should use the -c parameter:

bashCommand = "ls"
output = subprocess.check_output(['bash','-c', bashCommand])

Git for Windows comes with a bash.exe. It is is in the %PATH%, that should be enough.

VonC
  • 1,129,465
  • 480
  • 4,036
  • 4,755