运行 Git Bash 中的 .sh 脚本

Running .sh scripts in Git Bash

我在 Windows 机器上使用 Git 2.7.2.windows.1 和 MinGW 64.

我在 C:/path/to/scripts/myScript.sh 中有一个脚本。

如何从我的 Git Bash 实例执行此脚本?

可以将它添加到 .bashrc 文件,然后只执行整个 bashrc 文件。

但我想将脚本添加到一个单独的文件并从那里执行它。

假设您有一个脚本 script.sh。要 运行 它(使用 Git Bash),您可以执行以下操作:[a] 添加第一行的 "sh-bang" 行(例如 #!/bin/bash)然后是 [b]:

# Use ./ (or any valid dir spec):
./script.sh

注意:chmod +x 对脚本在 Git Bash 上的可执行性没有任何影响。 运行 它不会有什么坏处,但它也不会完成任何事情。

#!/usr/bin/env sh

这就是 git bash 知道文件可执行的方式。 chmod a+x 在 gitbash 中什么都不做。 (注意:任何 "she-bang" 都可以,例如 #!/bin/bash,等等)

如果您希望在 Windows git bash 提示符下执行脚本文件,只需在脚本文件前面加上 sh

sh my_awesome_script.sh

我遇到了类似的问题,但我收到了一条错误消息

cannot execute binary file

我发现文件名包含非 ASCII 字符。修复这些问题后,脚本 运行 可以用 ./script.sh.

我有两个 .sh 脚本来启动和停止我想要从 Windows 10 运行 的数字海洋服务器。我所做的是:

  • 已下载 "Git for Windows"(来自 https://git-scm.com/download/win)。
  • 已安装Git
  • 要执行 .sh 脚本,只需双击脚本文件即可开始执行脚本。

现在 运行 脚本每次我只需双击脚本

如果您像我一样将 .sh 文件的默认打开方式更改为文本编辑器,您可以 "bash .\yourscript.sh",前提是您有 git bash已安装并在路径中。

如果您的 运行ning export 命令在您的 bash 脚本 上面给出的解决方案可能不会导出任何东西,即使它会运行 脚本。作为替代方案,您可以 运行 您的脚本使用

. script.sh 

现在,如果您尝试回显您的 var,它就会显示出来。检查我 git bash

上的结果
(coffeeapp) user (master *) capstone
$ . setup.sh
 done
(coffeeapp) user (master *) capstone
$ echo $ALGORITHMS
[RS256]
(coffeeapp) user (master *) capstone
$

在此question

中查看更多详细信息

进入目录后,运行 就像 ./myScript.sh

如果您在 Linux 或 ubuntu 上,请写 ./file_name.sh 而你在 windows 只需在文件名前写 sh 这样的 sh file_name.sh

  1. 对于 Linux -> ./filename.sh
  2. 对于Windows -> sh file_name.sh