2015-09-01 7 views
5

ich Git Bash installiert haben 2.5.1 64-Bit auf einem frischen Windows-10-Maschine:Shell-Skripte mit Git Bash 64-Bit-Windows

[email protected] MINGW64 ~/Documents/FsCheck (master) 
$ git --version 
git version 2.5.1.windows.1 

Wenn ich den Inhalt eines Verzeichnisses auflisten, kann ich sehen ein Shell-Skript: (. Einige Dateien und Ordner aus Gründen der Klarheit entfernt)

[email protected] MINGW64 ~/Documents/FsCheck (master) 
$ ls 
appveyor.yml build.cmd build.sh*   Docs/ 
bin/   build.fsx Contributors.txt examples/ FsCheck.sln 

Beachten Sie, dass die Shell-Skript build.sh ein Sternchen nach der Erweiterung hat. In der Konsole ist es auch grün, wo andere Dateien hellgrau sind. Ich habe das vorher nicht gesehen, also weiß ich nicht, ob es irgendetwas bedeutet.

Wenn ich versuche, um das Skript auszuführen, erhalte ich eine Fehlermeldung:

[email protected] MINGW64 ~/Documents/FsCheck (master) 
$ build.sh 
bash: build.sh: command not found 

Außerdem gibt es keine Tabulatorvervollständigung für eine der build Dateien.

Wie kann ich das Shell-Skript von Git Bash ausführen?

Antwort

7

Sie haben wahrscheinlich ls aliased zu ls -F. Wenn also ein Sternchen angezeigt wird, bedeutet dies, dass die Datei ausführbar ist.

In POSIX-Systemen können Sie (aus Sicherheitsgründen) Dateien im aktuellen Verzeichnis nicht direkt ausführen. Wenn Sie möchten, können Sie diesen Trick verwenden:

./build.sh 
+0

Das ist anders, als Git Bash (32-Bit, glaube ich) kürzlich für mich gearbeitet hat, aber es funktioniert, und ich habe heute etwas Neues gelernt, also bin ich glücklich. Vielen Dank. –

+0

FWIW, ich lief nur in den gleichen Fehler, nach der Installation der neuesten Git und die Verwendung von [MinTTY] (https://mintty.github.io/) anstelle von cmd.exe. Das hat auch für mich funktioniert. –

1

Sie können natürlich Ihre PATH bearbeiten, indem Sie ";" hinzufügen. am Ende des aktuellen Wertes. In mingw64_shell.bat tun

SET PATH=%PATH%;. 

Hinweis: Ich freue mich auf meine MSYS2 Installation, so dass Sie für die ".bat" Datei aussehen müssen, die bash startet. Das größte Sicherheitsproblem mit dem Windows-Standardpfad, der "." vor dem Pfad ist, dass es einem Benutzer ermöglicht, eine ausführbare Systemdatei zu umgehen - das würde Ihre Skripte seltsame Sachen machen, besonders wenn Sie sie von jemand anderem importieren.