Shell Git Bash 64 位 Windows 脚本

Shell scripts with Git Bash 64-bit on Windows

我已经在新 Windows 10 台机器上安装了 Git Bash 2.5.1 64 位:

mark@Foo MINGW64 ~/Documents/FsCheck (master)
$ git --version
git version 2.5.1.windows.1

当我列出一个目录的内容时,我可以看到一个 shell 脚本:

mark@Foo MINGW64 ~/Documents/FsCheck (master)
$ ls
appveyor.yml  build.cmd  build.sh*         Docs/
bin/          build.fsx  Contributors.txt  examples/  FsCheck.sln

(为清楚起见,删除了一些文件和文件夹。)

请注意 shell 脚本 build.sh 在扩展名后有一个星号。在控制台中,它也是绿色的,而其他文件是浅灰色的。没见过这个,不知道有没有意义。

当我尝试 运行 脚本时,我收到一条错误消息:

mark@Foo MINGW64 ~/Documents/FsCheck (master)
$ build.sh
bash: build.sh: command not found

此外,任何 build 文件都没有制表符补全功能。

如何 运行 来自 Git Bash 的 shell 脚本?

您可能 ls 别名为 ls -F。因此,当出现尾随星号时,表示该文件是可执行文件。

在POSIX系统中,您不能直接执行当前目录下的文件(出于安全考虑)。如果你愿意,你可以使用这个技巧:

./build.sh

当然,您可以通过添加“;”来编辑您的 PATH。在当前值的末尾。在mingw64_shell.bat做

SET PATH=%PATH%;.

注意:我正在查看我的 MSYS2 安装,因此您可能需要查找启动 bash 的“.bat”文件。 WINDOWS 默认路径的最大安全问题是“.”。路径前面是它允许用户覆盖系统可执行文件——这会使您的脚本做一些奇怪的事情,特别是如果您从其他人那里导入它们。