Reputation: 2011
I'm on a Windows machine using Git 2.7.2.windows.1 with MinGW 64.
I have a script in C:/path/to/scripts/myScript.sh
.
How do I execute this script from my Git Bash instance?
It was possible to add it to the .bashrc
file and then just execute the entire bashrc file.
But I want to add the script to a separate file and execute it from there.
Upvotes: 128
Views: 316840
Reputation: 8388
If you're running an export
command in your bash script, the above-given solution may not export anything even if it will run the script. As an alternative for that, you can run your script using
. script.sh
Now if you try to echo your var it will be shown. Check the result on git bash -
$ . setup.sh
$ echo $ALGORITHMS
[RS256]
Check more detail in this question
Upvotes: 7
Reputation: 51
#!/bin/bash at the top of the file automatically makes the .sh file executable. I agree the chmod does not do anything but the above line solves the problem. you can either give the entire path in gitbash to execute it or add it in the PATH variable export PATH=$PATH:/path/to/the/script then you an run it from anywhere
Upvotes: 1
Reputation: 89
if you are on Linux or ubuntu write ./file_name.sh
and you are on windows just write sh
before file name like that sh file_name.sh
Upvotes: 8
Reputation: 7100
Let's say you have a script script.sh
. To run it (using Git Bash), you do the following: [a] Add a "sh-bang" line on the first line (e.g. #!/bin/bash
) and then [b]:
# Use ./ (or any valid dir spec):
./script.sh
Note: chmod +x
does nothing to a script's executability on Git Bash. It won't hurt to run it, but it won't accomplish anything either.
Upvotes: 124
Reputation: 16832
#!/usr/bin/env sh
this is how git bash knows a file is executable. chmod a+x
does nothing in gitbash. (Note: any "she-bang" will work, e.g. #!/bin/bash
, etc.)
Upvotes: 74
Reputation: 31
If by any chance you've changed the default open for .sh files to a text editor like I had, you can just "bash .\yourscript.sh", provided you have git bash installed and in path.
Upvotes: 2
Reputation: 2708
I was having two .sh scripts to start and stop the digital ocean servers that I wanted to run from the Windows 10. What I did is:
Now to run the script each time I just double-click the script
Upvotes: 1
Reputation: 31
I had a similar problem, but I was getting an error message
cannot execute binary file
I discovered that the filename contained non-ASCII characters. When those were fixed, the script ran fine with ./script.sh
.
Upvotes: 3
Reputation: 2842
If you wish to execute a script file from the git bash prompt on Windows, just precede the script file with sh
sh my_awesome_script.sh
Upvotes: 61