0
for 루프에서 배열을 만들고 각 반복에 카운터 (배열 요소)에 포함 된 문자열을 사용하여 각 배열의 이름을 지정해야하는 bash 스크립트를 작성했습니다.Bash - 루프 카운터를 사용하여 배열 만들기
myArray=(joe bob dave mark)
for i in "${myArray[@]}"
do
"$k_array"=(`cat fileUsedToPopulate.txt`)
done
# echo to test if one of the arrays has been created and populated
for j in "${joe_array[@]}"
do
echo $j
done
원하는 결과가 joe_array bob_array 등 4 개 어레이 인 파일로 채워 각 : 여기
코드이다.그러나 어쨌든 $ k를 이스케이프 처리하여 배열 이름에 추가/채울 때 추가 할 수는 없습니다.
라인 (30) : : 대한
감사 : 예기치 않은 토큰 `cat fileUsedToPopulate.txt
'"$k_array"=(
고양이 $ DIR/$ braDir/oem.txt`) 라인 (30)'근처의 구문 오류 여기
val=$(cat fileUsedToPopulate.txt)
for k in "${myArray[@]}"
do
eval "${k}_array"="\"${val}\""
done
참고 :
예, 알겠습니다 .--). 좋은 하루 되세요. – shellter
감사합니다. –
답장을 보내 주셔서 감사합니다. 사용 된 파일에 대한 메모입니다. 예제 코드입니다. 실제 스크립트에서 배열을 채우는 데 사용 된 파일은 각 반복마다 다릅니다. $ k에 의존하는 텍스트 파일을 가리키는 데 사용되는 경로가 있습니다. 나는 eval 코드를 사용하려고 시도했다. 그러나 첫 번째 \를 벗어나지 않고 루프가 제대로 종료되지 않는다. –