首页 > 解决方案 > 如何在 curl 请求中扩展文件名

问题描述

我需要使用我不知道确切文件名的文件进行 curl 上传。

"curl
-F \"status=2\"
-F \"notify=1\"
-F \"ipa=@${FILE}\"
-F \"teams=${TEAM_ID}\"
-H \"X-HockeyAppToken: ${APITOKEN}\"
https://rink.hockeyapp.net/api/2/apps/${APPVERSION}/app_versions/upload"

这是在 gitlab-ci 中完成的,FILE变量设置为build/com.test.app_v*.ipa. 我要上传的文件设置了版本号并具有路径build/com.test.app_v1.0.0.0.ipa。我现在遇到的问题是*在这个 curl 调用中没有得到扩展。我之前尝试过导出:

- export ABSOLUTE_FILENAME=${FILE}
- "curl
  -F \"status=2\"
  -F \"notify=1\"
  -F \"ipa=@${ABSOLUTE_FILENAME}\"
  -F \"teams=${TEAM_ID}\"
  -H \"X-HockeyAppToken: ${APITOKEN}\"
  https://rink.hockeyapp.net/api/2/apps/${APPVERSION}/app_versions/upload"

我仍然遇到错误curl: (26) couldn't open file "build/com.test.app_v*.ipa"如何在 curl 上传之前将路径扩展为绝对路径?

标签: bashcurl

解决方案


使用realpath命令:

...
-F \"ipa=@$(realpath $FILE)\"
...

推荐阅读