В качестве вариации сказанного:
#!/bin/bash
array1=('array1 string1' 'array1 string2')
array2=('array2 string1' 'array2 string2')
array_names=('array1' 'array2')
for (( i=0; i<${#array_names[@]}; i++ )); do
declare -n arr="${array_names[i]}"
for (( j=0; j<${#arr[@]}; j++ )); do
echo "${arr[j]}"
done
done
Доступ к элементам по индексу вместо этого
Объем памяти в модулях DIMM измеряется степенью двойки, поэтому заявленный объем ОЗУ «128 гигабайт -что-то» составляет 128 ГиБ, что составляет 134 217 728 киБ./proc/meminfo
также измеряет память в степени двойки, поэтому MemTotal
значение 131 927 808 можно сравнить со 134 217 728 и оно безопасно меньше.
MemTotal
— это общая установленная физическая память за вычетом того, что зарезервировано системной прошивкой и двоичным файлом ядра. Ваш загрузочный журнал должен содержать строку вида
... [ 0.000000] Memory: 32784756K/33435864K available (10252K kernel code, 1243K rwdata, 3324K rodata, 1584K init, 2280K bss, 651108K reserved, 0K cma-reserved)
который точно укажет, сколько зарезервировано системой (цифра «зарезервировано» )и двоичный файл ядра (цифра «код ядра» ).