将卷曲响应的特定部分保存到变量
Save specific part of curl response to variable
我目前正在编写 bash 脚本,我想将 curl 命令输出的特定部分保存到变量中。
这是我的带有一些测试参数的 curl 命令:
curl -k -I --header "Accept: application/*;version=34.0" --header "Authorization: Basic testXXX1" --request POST https://test.io/api/sessions
上述curl命令的输出:
Date: Mon, 19 Apr 2021 12:13:48 GMT
REQUEST-ID: test1
ACCESS-TOKEN: test1.testXXX.testXX-testXXXX_testXXX_testXXXX-testXX_NR_TESTXX_test_nnndnndnddn_jdjdjdjd_jbjndinfjenkndkn-nnjjnj
TOKEN-TYPE: Bearer
authorization: test1
Content-Type: application/test;version=34.0
REQUEST-EXECUTION-TIME: 12
Cache-Control: no-store, must-revalidate
Vary: Accept-Encoding, User-Agent
Connection: close
Set-Cookie: de.test
现在我只想捕获 'Access-Token' 的值并将其存储到一个变量中,因此如果我回显该变量或想将它用于进一步的命令,它只会 return我的访问令牌的值 (test1.testXXX.testXX-...).
我很乐意提供任何帮助。
多个选项,如果你只是在header之后:
ACCESS-TOKEN=`curl -qs -k -I --header "Accept: application/*;version=34.0" \
--header "Authorization: Basic testXXX1" \
--request POST https://test.io/api/sessions | grep ACCESS-TOKEN: | sed 's/ACCESS-TOKEN: //g' | tr -d '\r'`
我目前正在编写 bash 脚本,我想将 curl 命令输出的特定部分保存到变量中。
这是我的带有一些测试参数的 curl 命令:
curl -k -I --header "Accept: application/*;version=34.0" --header "Authorization: Basic testXXX1" --request POST https://test.io/api/sessions
上述curl命令的输出:
Date: Mon, 19 Apr 2021 12:13:48 GMT
REQUEST-ID: test1
ACCESS-TOKEN: test1.testXXX.testXX-testXXXX_testXXX_testXXXX-testXX_NR_TESTXX_test_nnndnndnddn_jdjdjdjd_jbjndinfjenkndkn-nnjjnj
TOKEN-TYPE: Bearer
authorization: test1
Content-Type: application/test;version=34.0
REQUEST-EXECUTION-TIME: 12
Cache-Control: no-store, must-revalidate
Vary: Accept-Encoding, User-Agent
Connection: close
Set-Cookie: de.test
现在我只想捕获 'Access-Token' 的值并将其存储到一个变量中,因此如果我回显该变量或想将它用于进一步的命令,它只会 return我的访问令牌的值 (test1.testXXX.testXX-...).
我很乐意提供任何帮助。
多个选项,如果你只是在header之后:
ACCESS-TOKEN=`curl -qs -k -I --header "Accept: application/*;version=34.0" \
--header "Authorization: Basic testXXX1" \
--request POST https://test.io/api/sessions | grep ACCESS-TOKEN: | sed 's/ACCESS-TOKEN: //g' | tr -d '\r'`