![Bash 스크립트: 배열과 함께 forinloop 사용](https://linux55.com/image/104477/Bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%3A%20%EB%B0%B0%EC%97%B4%EA%B3%BC%20%ED%95%A8%EA%BB%98%20forinloop%20%EC%82%AC%EC%9A%A9.png)
forin 루프를 사용하여 배열의 모든 텍스트를 인쇄하는 스크립트를 만들려고 합니다. 첫 번째 텍스트만 인쇄됩니다. 도움이 필요하십니까?
#!/bin/bash
somearray=( p 5 6 j 050yh0k 0 hkofohkf 50 )
for k in somearray
do
echo ${somearray[k]}
done
답변1
배열의 모든 요소를 얻으려면 생성자를 사용해야 합니다 ${var[@]}
. 따라서 for
배열의 모든 멤버를 반복하는 루프는 다음과 같습니다.
for element in "${somearray[@]}"; do
echo "$element"
done
답변2
원래 시도한 것처럼 배열의 인덱스를 반복하려면 다음을 수행하십시오.
for k in "${!somearray[@]}"; do
printf '%s\n' "${somearray[k]}"
done