bash
정의된 크기의 배열에 대해 메모리를 사전 할당할 수 있습니까? declare -a arr
배열에 문자열을 반복적으로 추가하고 있습니다 ( arr+=("$str")
.
답변1
아니요, 에서는 불가능합니다 bash
.
스크립트 속도를 높이려면 프로그램 흐름과 논리를 다시 생각해 보세요. 이것은매우변수나 배열에서 많은 양의 데이터를 읽어야 하는 경우는 거의 없습니다.
대부분의 Unix 도구는 대량의 초기 또는 중간 데이터를 메모리에 저장하지 않고(일반적으로 한 번에 파일에 한 줄만) 파이프라인의 한 단계에서 다음 단계로 데이터를 보낼 수 있게 해주는 필터입니다. 데이터 세트를 변수로 읽어온 다음 셸에서 조작하는 것은 일반적이지 않습니다. 더 일반적인 방법은 데이터에 변환을 실행하여 데이터의 일부를 집계하는 것입니다.
여러 단어가 포함된 쉘 변수를 처리하는 경우 아마도 더 효율적인 방법이 있을 것입니다.