bash: 배열용 메모리를 사전 할당합니다.

bash: 배열용 메모리를 사전 할당합니다.

bash정의된 크기의 배열에 대해 메모리를 사전 할당할 수 있습니까? declare -a arr배열에 문자열을 반복적으로 추가하고 있습니다 ( arr+=("$str").

답변1

아니요, 에서는 불가능합니다 bash.

스크립트 속도를 높이려면 프로그램 흐름과 논리를 다시 생각해 보세요. 이것은매우변수나 배열에서 많은 양의 데이터를 읽어야 하는 경우는 거의 없습니다.

대부분의 Unix 도구는 대량의 초기 또는 중간 데이터를 메모리에 저장하지 않고(일반적으로 한 번에 파일에 한 줄만) 파이프라인의 한 단계에서 다음 단계로 데이터를 보낼 수 있게 해주는 필터입니다. 데이터 세트를 변수로 읽어온 다음 셸에서 조작하는 것은 일반적이지 않습니다. 더 일반적인 방법은 데이터에 변환을 실행하여 데이터의 일부를 집계하는 것입니다.

여러 단어가 포함된 쉘 변수를 처리하는 경우 아마도 더 효율적인 방법이 있을 것입니다.

관련 정보