2017-07-14 113 views
0

當我在我的bash shell腳本發送curl命令我得到的輸出如下搶捲曲輸出的Cookie

< Date: Fri, 14 Jul 2017 10:21:25 GMT 
< Set-Cookie: vmware-api-session-id=7ed7b5e95530fd95c1a6d71cf91f7140;Path=/rest;Secure;HttpOnly 
< Expires: Thu, 01 Jan 1970 00:00:00 GMT 
< Content-Type: application/json 

如何在我訪問vmware-api-session-id走在前面。我應該在執行卷曲時將其存儲在變量中嗎?

+0

你想要字符串'7ed7b5e95530fd95c1a6d71cf91f7140'存儲在一個變量? – Inian

回答

0

您可以執行以下命令:

sessionid=`[YOUR CURL COMMAND] 2>&1 | grep -o vmware-api-session-id=[0-9a-z]+ | grep -o [0-9a-z]+` 

2>&1發送錯誤輸出到標準輸出。你需要這個,因爲curl發送會話信息給stderr。

使用您的示例值,將其轉化爲

sessionid=7ed7b5e95530fd95c1a6d71cf91f7140 

現在,您可以通過adressing變量${sessionid}

如果你要導出的vairable訪問cookie值,你可以使用:

sessionid=`[YOUR CURL COMMAND] 2>&1 | grep -o vmware-api-session-id=[0-9a-z]+ | grep -o [0-9a-z]+` 
export sessionid 

或更短

export sessionid=`[YOUR CURL COMMAND] 2>&1 | grep -o vmware-api-session-id=[0-9a-z]+ | grep -o [0-9a-z]+` 
+0

這給了我存儲在'vmware-api-session-id'變量中的'api-session-id' – aaj

+0

@ love2code你是對的!我忘了把-o放在grep命令中。另外我不得不重新命名變量。我修好了它並編輯了我原來的帖子! –

+0

當我做'echo $ sessionid' /'echo $ {sessionid}' – aaj