Ezt kapom az egyik scriptbol hivott scriptben: "Argument list too long" mikozben a script hivatkozott soraban egyaltalan nem tunik hosszunak az az argumentum lista.
Tipikusan ilyen akkor szokott lenni, ha az ember "*"-gal dolgozik file-okon es tul sok file van. Nalam, most egyaltalan nem ez a helyzet, tenyleg argumentumok vannak ott sorolva 3 soron keresztul (valtozok es jokerek nelkul), de ez egyreszt szerintem messze van a bash korlataitol, masreszt meg ugyanezt a scriptet kozvetlenul shell-bol inditva, jol lefut, nyoma sincs a fenti hiba uzenetnek.
Valahogy igy van most:
a.sh -> b.sh -> c.sh -> "Argument list too long"
b.sh -> c.sh -> "Argument list too long"
c.sh -> "OK"
Kettevagtam a c.sh scriptet es ez is megoldotta a problemat:
a.sh -> b.sh -> { c1.sh; c2.sh } -> "OK"
Akar hasznalhatnam is igy, de jo lenne erteni, hogy miert mukodik/nem mukodik igy.
-------------------------------------------------------------------------------------
Megoldas:
A problema vegul valoban a kornyezeti valtozok korul volt (kossz a tippet Zahy). A bena sajat scriptjeink miatt volt egy ilyen valtozo ertekatas a .profile-ban:
alma=valami:$alma:$alma:$alma:$alma:$alma
ami persze helyesen ilyen lett volna:
alma=valami:$alma
de a (megintcsak bena) install scriptek tobbszor lefuttatva (reinstall) valamiert ezt eredmenyezik.
Tovabbi benasag :) hogy a .profile -t tobb script is include-olja (ami felesleges, hiszen azok a valtozok mar ugyis elnek) es a fenti alma=... ertekadas tobbszor is meghivodik. Vagyis elso alkalommal 5-szorosere, masodikra 5*5-szorosere no a valtozo... A sok egymasbol hivott script es a .profile tobbszori include-olasa vegul egy 300kB-os(!) valtozot eredmenyezett :) es ezutan jott "Argument list too long"...
- 1475 megtekintés
Hozzászólások
Ugyanezt az üzenetet (sajnos :-) ) a környezeti változók mértéktelen használatával is el lehet érni, ha jól tudom a kettő együtt kell egy adott korlát alatt legyen.
- A hozzászóláshoz be kell jelentkezni
Ez hihetonek hangzik... Hol lehetne megnezni, hogy mennyi is ez a korlat? Es egyaltalan milyen egysegekben (byte-ban, darabszamban, sorban). A bash manjaban a "limit"-rekeresve leginkabb "no limit" szovegeket talaltam. :)
- A hozzászóláshoz be kell jelentkezni
A pontos korlatot tovabbra sem tudom, de a megoldas megvan ezen az uton (lasd fent).
- A hozzászóláshoz be kell jelentkezni
Beírnád a konkrét scripteket, ill. a releváns részeiket?
- A hozzászóláshoz be kell jelentkezni
Probakeppen a scripted elejen source-old a shell init file-jaidat (~/.bashrc ~/.bash_login ~/.profile ~/.bash_profile stb).
- A hozzászóláshoz be kell jelentkezni
csak puszta erdeklodes: az miert is jo?
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni