如何在 git bash 中执行预设命令

How to execute a pre-set command in git bash

我想在 git bash 上卷曲而无需输入。即,我想在 windows.

中通过 运行 批处理脚本执行“curl http://google.co.uk

这可以吗?我正在尝试此操作,因为我正在尝试自动执行多个 curl 请求。

一种可能的方法:任何名为 git-xxx.bat 的脚本都将在 git bash 会话中执行,即使从 cmd DOS 会话调用 (git xxx) 也是如此,只要 git-xxx.bat%PATH%.

引用的文件夹中

您可以在上述脚本中执行您的 curl 命令。

使用 git bash 进行测试的好主意!如果您想从脚本中多次调用 curl,我会使用 bash 脚本。

首先创建一个名为 doit.sh 的文件,并将您的 curl 命令放入其中:

#!/bin/env bash

curl http://google.co.uk
curl http://www.google.com
# More as needed...

保存文件,您应该可以通过在 Windows 资源管理器中双击它来 运行 它 - 或者甚至更好,通过 运行 将它与 ./doit.sh 在命令行上。

curl 是用于此类测试的非常强大的工具,因此如果您愿意走 bash 脚本编写之路,您可以编写更复杂的测试 - 例如:

#!/bin/env bash

expected_resp_code="200"
echo "Making sure the response code is '$expected_resp_code'..."

actual_resp_code=$(curl --silent --head --write-out %{http_code} http://www.google.co.uk/ -o /dev/null)

if [[ ! "$actual_resp_code" = "$expected_resp_code" ]] ; then
  echo "Expected '$expected_resp_code', but got code '$actual_resp_code'"
  exit 1
fi

echo "Success!"
exit 0

在 git bash 中执行您的脚本可能看起来像:

you@yourmachine ~/Desktop
$ ./doit.sh
Making sure the response code is '200'...
Success!

如果您扩展到数十或数百个测试,您可能需要考虑转移到另一种脚本语言,但对于一些一次性任务,从 bash 脚本调用 curl 可能会很好.