如何在 curl 命令中提示输入用户名和密码?

How to prompt for both user and password in curl command?

我正在 Ubuntu 中使用 CURL 命令对 MarkLogic 服务器进行 post 调用。

在命令中,如果我会这样写

--user username

它会提示输入密码。

有什么方法可以同时提示输入用户名和密码吗?

基本上我不想硬编码用户名和密码,因为在我的情况下用户名和密码会经常更改所以我希望用户输入用户名和密码。

您必须分两步完成此操作:首先读入用户名,然后在您的 curl 命令中使用它。所以在 bash 中会出现这样的结果:

read -p "Username: " CURLUSER
curl --user "${CURLUSER}" ...

如果您愿意,可以按照以下几行将其包装在一个小脚本中:

#!/bin/bash
read -p "Username: " CURLUSER
curl --user "${CURLUSER}" "$@"

现在将其另存为 curl-with-user.sh,使其可执行,您可以将其用作 curl 的替代品,但首先会询问您的用户名。

"$@" 的要点是确保您传递给脚本的任何参数也传递给 curl