我在 Windows 机器上使用 Ubuntu bash shell,我正在尝试创建一个函数来测试我的 spring 应用程序端点。首先,我必须通过以下 curl 命令对服务器进行身份验证。语句运行的输出如下。
$> curl -i -X "POST" -d"${auth}" -H"${contentType}" "${host}/login"
当我将此命令复制并粘贴到一个函数中时,它似乎崩溃了,导致无法按预期执行 curl,它应该具有与上述相同的输出。
$> function springlogin(){curl -i -X "POST" -d"${auth}" -H"${contentType}" "${host}/login";};
$> springlogin
我在这里错过了什么?这是由于我不知道的一些变量扩展吗?或者完全是别的东西。
我的最终目标是使用此函数的输出,并在我碰巧在命令行时使用它来授权我的端点 api 调用。
最佳答案
多亏了 Gordon Davisson,我才弄明白了。这是我们在工作中所做的事情,但我没想过在我的家庭代码中这样做。在我再次声明之前,我需要取消配置文件中的功能。
unset springlogin
function springlogin(){curl -i -X "POST" -d"${auth}" -H"${contentType}" "${host}/login";};
关于windows - Bash 函数自动执行未按预期执行的 curl POST 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51094226/