gpt4 book ai didi

git - 在 shell 脚本中检查 Bitbucket 登录凭据

转载 作者:太空狗 更新时间:2023-10-29 14:43:10 26 4
gpt4 key购买 nike

我目前正在编写一个 shell/bash 脚本来自动化工作流程。这个 bash 脚本可以克隆项目并在 Bitbucket 上创建新的 repo,执行 Composer 安装/更新等等。

我的第一个计划是全部通过 SSH 执行此操作,但在某些情况下我需要 HTTPS。对于所有认为 go 是通过 HTTPS 的人,我需要先检查 Bitbucket 的用户凭据。由用户名和密码组成的凭据。

这可能吗?如果是,怎么办?

最佳答案

正如您在评论中所建议的,curl 可以为您执行 HTTP 基本身份验证。对于 BitBucket,响应将是 401 Unauthorized200 OK,具体取决于用户名/密码对的有效性。您可以使用 grep 测试输出(或仅 header ),但更可靠的方法是使用 -w/--write-out选项,结合 HEAD 请求和 -silenced 输出:

http_status=$(curl -X HEAD -s -w '%{http_code}' \
-u "username:password" -H "Content-Type: application/json" \
https://api.bitbucket.org/2.0/repositories/$repo_owner)

然后,要测试状态,您可以使用一个简单的条件表达式:

if [[ $http_status == 200 ]]; then
echo "Credentials valid"
else
if [[ $http_status == 401 ]]; then
echo "Credentials INVALID"
else
echo "Unexpected HTTP status code: $http_status"
fi
fi

或者,如果您计划测试多个状态码,您可以使用case 命令,例如:

case $http_status in
200) echo "Credentials valid";;
301|302) echo "API endpoint changed";;
401) echo "Credentials INVALID";;
5*) echo "BitBucket Internal server error";;
*) echo "Unexpected HTTP status code: $http_status";;
esac

关于git - 在 shell 脚本中检查 Bitbucket 登录凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45546435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com