이 간단한 방법을 사용하여 목록 항목의 색인을 찾으려고 합니다.
#!/bin/sh
partList="500 1000 2000 4000"
a=( $partList )
echo ${a["500"]}
시도 Syntax error: "(" unexpected
하면 동일한 오류가 발생합니다 echo ${a[500]}
. 0
사용하시면 반품되길 바랍니다 500
.
나는 다음과 같이 목록을 언제 반복해야 하는지 알 수 있는 빠르고 더러운 방법을 찾고 있습니다.
for j in $partList; do
if [ $j is the first entry in the list $partList ]; then
stuff happens..
done
done
목록의 첫 번째 요소를 사용합니까? 그렇다면 몇 가지 논리를 사용합니다.
목록의 인덱스를 이용하면 쉽게 할 수 있을 것 같아요. 하지만 어려운 것 같습니다 #!/bin/sh
.
어떤 제안이 있으십니까?
답변1
검색 프로세스를 반대로 했습니다. array[index]는 무언가를 반환합니다. array[array_element]는 인덱스를 제공하지 않습니다. 조회 테이블이 필요합니다(해시 맵이 더 좋습니다).
그러나 당신이 하고 있는 일은 실제로는 단지 인덱스를 반복하는 것뿐입니다! j in $partList
루프를 반복 j in $(seq ${#partlist[@]})
하고 인덱스를 사용하여 요소를 가져오는 대신 .
마지막으로... 필요하지도 않습니다. 실제로 첫 번째 요소만 사용한다면 왜 안 됩니까?
j=${partList[0]}
stuff happens..