Cóż, na moim pudełku jest co najmniej 4M. W tym momencie znudziłem się i odszedłem. Mam nadzieję, że wyjście terminala zostanie zakończone, zanim wrócę do pracy w poniedziałek :-)
export b1=A
export b2=$b1$b1
export b4=$b2$b2
export b8=$b4$b4
export b16=$b8$b8
export b32=$b16$b16
export b64=$b32$b32
export b128=$b64$b64
export b256=$b128$b128
export b512=$b256$b256
export b1k=$b512$b512
export b2k=$b1k$b1k
export b4k=$b2k$b2k
export b8k=$b4k$b4k
export b16k=$b8k$b8k
export b32k=$b16k$b16k
export b64k=$b32k$b32k
export b128k=$b64k$b64k
export b256k=$b128k$b128k
export b512k=$b256k$b256k
export b1m=$b512k$b512k
export b2m=$b1m$b1m
export b4m=$b2m$b2m
echo $b4m
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
: : : : : : : : : : : :
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Jeśli martwisz się, że 4M może nie wystarczyć dla zmiennej środowiskowej, możesz przemyśleć, jak robisz.
Być może lepszym pomysłem byłoby umieszczenie informacji w pliku, a następnie użycie zmiennej środowiskowej do odniesienia się do tego pliku. Widziałem przypadki, w których, jeśli zmienna ma postać @/path/to/any/fspec
, pobiera rzeczywiste informacje z pliku path/to/any/fspec
. Jeśli nie zaczyna się od @
, używa wartości samej zmiennej środowiskowej.
Co ciekawe, gdy wszystkie te zmienne są ustawione, każde polecenie zaczyna narzekać, że lista argumentów jest zbyt długa, więc nawet jeśli pozwala je ustawić, może nie być w stanie uruchomić programów po wykonaniu tego (ponieważ musi przekazać środowisko do tych programów).
set
poleceniu, które ma limit linii poleceń do 8191 znaków. Zobacz ten artykuł w witrynie MSDN Jednak nadal jest to przypadkowe ograniczenie.