我有以下basic.json
文件:
{
"user": "user",
"pass": "password"
}
我正在尝试像这样在base64中对其进行编码:
"Basic dXNlcjpwYXNzd29yZA=="
我想我接近了:
echo Basic $(echo $(cat basic.json | jq '.user'):$(cat basic.json | jq '.pass') | base64)
但是结果是错误的:
Basic InVzZXIiOiJwYXNzd29yZCIK
我已经尝试过-e
文章中提到的标志:
echo Basic $(echo $(cat basic.json | jq '.user'):$(cat basic.json | jq '.pass') | base64 -e)
但这会引发此错误:
base64:无效选项-'e'
我在哪里弄错了?
提前致谢。
我的解决方案
该命令以这种方式结束:
RUN echo "map \"\" \$basicAuth {\n\
\tdefault $(jq '"Basic " + ("\(.user):\(.pass)" | @base64)' basic.json);\n\
}" > basic.conf
我的basic.conf
文件终于有了正确的基本身份验证:
map "" $basicAuth {
default "Basic dXNlcjpwYXNzd29yZA==";
}
谢谢你们
使用jq
和@base64
运算符:
<basic.json jq '"Basic " + ("\(.user):\(.pass)"|@base64)'
"Basic dXNlcjpwYXNzd29yZA=="
user
和pass
值以字符串base64
操作。其余的是简单的字符串连接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句