這是我的 bash 腳本
#!/bin/bash
cookie_value="'cookie: PF='$PF'; cwmsk='$cwmsk'; BIGipServerNP_QA_QFLOGINQAS0_7011='$BIGipServerNP_QA_QFLOGINQAS0_7011'; aatoken='$aatoken'; UserName='$UserName'; Auth='$Auth'; XSRF-TOKEN='$XSRF-TOKEN'; z='$z'; BN20='$BN20'; UserFirmId='$UserFirmId'; TS01a1bccb='$TS01a1bccb'; TS01e14722='$TS01e14722';"
echo cookie_value
請告訴我需要在哪里添加 cookie_jar 檔案。以便它可以帶來cookievalue(它將回傳字串)
uj5u.com熱心網友回復:
假設:
- 唯一的目標是在標準輸出上顯示 cookie 值,其中...
cookie value是包含字串的任何行的最后一個條目TRUE或FALSE- 注意:如果有明確的輸出排序(對我來說)并不明顯
一個awk想法:
awk '
/TRUE|FALSE/ { printf "%s%s",pfx,$NF; pfx=" " }
END { print "\n" }
' cookie_jar
這會產生:
01786344cc36119d024ed021fc31dad790cc200981f044 1we9edfauoefklare 1teji23jksdfas !qaE44xdbX2OjQtdL9Ez/f7vw2P/dxPd2WvZ9xQ== 01786344cc027084e046d692cedc2bbedc95e2512d8557aedca2
如果 OP 需要稍后在腳本中訪問這些,那么我假設還需要 cookie 名稱,在這種情況下,我建議將 cookie 名稱/值對存盤在關聯陣列中,例如:
unset cookies
declare -A cookies
while read -r cname cvalue
do
cookies[${cname}]="${cvalue}"
done < <(awk '/TRUE|FALSE/ {print $(NF-1),$NF}' cookie_jar)
這會產生以下陣列結構/內容:
$ typeset -p cookies
declare -A cookies=([BUILD0]="1teji23jksdfas" [TS01dda1cb]="01786344cc027084e046d692cedc2bbedc95e2512d8557aedca2" [TS21xx72R2]="01786344cc36119d024ed021fc31dad790cc200981f044" [UserxxxId]="1we9edfauoefklare" [BIGipS~NP_QA_QF~LQAS0_7011]="!qaE44xdbX2OjQtdL9Ez/f7vw2P/dxPd2WvZ9xQ==" )
從這里 OP 可以根據需要訪問 arry 條目,例如:
for i in "${!cookies[@]}"
do
echo "name = ${i} / value = ${cookies[${i}]}"
done
產生:
name = BUILD0 / value = 1teji23jksdfas
name = TS01dda1cb / value = 01786344cc027084e046d692cedc2bbedc95e2512d8557aedca2
name = TS21xx72R2 / value = 01786344cc36119d024ed021fc31dad790cc200981f044
name = UserxxxId / value = 1we9edfauoefklare
name = BIGipS~NP_QA_QF~LQAS0_7011 / value = !qaE44xdbX2OjQtdL9Ez/f7vw2P/dxPd2WvZ9xQ==
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/324025.html
