我需要找到一種方法來過濾陣列的變數,按照每個變數的索引。到目前為止,我只有以下示例。
DATA[nidforusr1]='jamaica'
DATA[nidforusr2]='brasil'
DATA[nidforusr3]='janaina'
DATA[nidforusr4]='cebola'
DATA[nidforusr5]='batata'
DATA[nidforbkp1]='ketchup'
DATA[pwforusr1]='sorvete'
DATA[pwforusr2]='google'
DATA[pwforusr3]='pesado'
DATA[pwforusr4]='maluco'
DATA[pwforusr5]='programador'
DATA[pwforbkp1]='macaco'
DATA[ipforusr1]='batata'
DATA[ipforusr2]='senha'
DATA[ipforusr3]='microfone'
DATA[ipforusr4]='passarinho'
DATA[ipforusr5]='abobora'
DATA[ipforbkp1]='caixa'
for ((i=0;i<=${#DATA[@]};i ))
do
echo "${DATA[@]:nidforusr1:nidforusr*}"
done
---------------- OR ------------------
for i in ${!DATA[@]}
do
if [[ "$i" == "nidforusr*" ]]
then
echo "${DATA[i]}"
fi
done
我想過濾陣列的內容,但只過濾以索引 nidforusr 開頭的陣列變數的內容
這是挑戰。
uj5u.com熱心網友回復:
如果您固定 的位置*并更改[i]為[$i],它應該可以作業。
declare -A DATA
DATA[nidforusr1]='jamaica'
DATA[nidforusr2]='brasil'
DATA[nidforusr3]='janaina'
DATA[nidforusr4]='cebola'
DATA[nidforusr5]='batata'
DATA[nidforbkp1]='ketchup'
DATA[pwforusr1]='sorvete'
DATA[pwforusr2]='google'
DATA[pwforusr3]='pesado'
DATA[pwforusr4]='maluco'
DATA[pwforusr5]='programador'
DATA[pwforbkp1]='macaco'
DATA[ipforusr1]='batata'
DATA[ipforusr2]='senha'
DATA[ipforusr3]='microfone'
DATA[ipforusr4]='passarinho'
DATA[ipforusr5]='abobora'
DATA[ipforbkp1]='caixa'
for i in ${!DATA[@]}
do
if [[ "$i" == "nidforusr"* ]]
then
echo "${DATA[$i]}"
fi
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/523732.html
