URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5727
[ Назад ]

Исходное сообщение
"Размер переменных"

Отправлено raist , 20-Сен-06 16:25 
Подскажите пожалуйста как максимальны размер имеют переменны в bash скриптах? Интересеют и строковые и целочисленные.

Содержание

Сообщения в этом обсуждении
"Размер переменных"
Отправлено Drg0n7 , 21-Сен-06 02:33 
>Подскажите пожалуйста как максимальны размер имеют переменны в bash скриптах? Интересеют и
>строковые и целочисленные.

Детально не смотрел сорцы bash, но кое-что нашёл в variables.h
В самом bash переменные представляют собой структуры типа

typedef struct variable {
  char *name;            /* Symbol that the user types. */
  char *value;            /* Value that is returned. */
  char *exportstr;        /* String for the environment. */
  sh_var_value_func_t *dynamic_value;    /* Function called to return a `dynamic'
                   value for a variable, like $SECONDS
                   or $RANDOM. */
  sh_var_assign_func_t *assign_func; /* Function called when this `special
                   variable' is assigned a value in
                   bind_variable. */
  int attributes;        /* export, readonly, array, invisible... */
  int context;            /* Which context this variable belongs to. */
} SHELL_VAR;

тоесть они изначально есть строками и могут преобразовываться в целые в зависимости от контекста. В принципе похожая ситуация присутствует во многих интерпретируемых средах.
Логично предположить, что в таком случае размер переменных прямо не ограничен. Память под структуры для них выделяется динамически.
Правда это только моё субъективное мнение, так как не изучал эту тему досконально.