Bash 변수는 얼마나 많은 데이터를 보유할 수 있나요?

Bash 변수는 얼마나 많은 데이터를 보유할 수 있나요?

동일한 로그 섹션을 여러 번 구문 분석하고 싶다고 가정해 보겠습니다. data=$(grep "initial filter" file.log)를 수행하고 $data에서 다음 필터를 수행하고 싶습니다. $data는 메모리가 모두 소진될 때까지 계속 증가하나요?

답변1

운영 체제에서 설정한 것 외에는 다른 제한 사항은 없는 것 같습니다.

$ yes=$(yes)

bash: xrealloc: cannot allocate 18446744071562067968 bytes (1617920 bytes allocated)

답변2

아, 접근 방식이 잘못되었습니다 mktemp. 예를 들면 다음과 같습니다.

x="$(mktemp)"
grep mohsen /etc/passwd > $x


root@debian:/home/mohsen# echo $x
/tmp/tmp.yuMRWrJbRI

그런 다음 스크립트 끝에서 임시 파일을 삭제할 수 있습니다.

이 방법에서는 변수 대신 파일을 사용합니다.

관련 정보