Portál AbcLinuxu, 13. července 2025 19:02
function enum () { LocalArray= "$1[*]" echo ${!LocalArray} # vypíše obsah pole echo ${#!LocalArray} # Tady bych chtěl vypsat počet prvků, tento zápis ale bash nebere ..... }Možná jdu na problém zbytečně složitě, ale ani přes google nemůžu najít odpověď Předem díky za pomoc
Řešení dotazu:
Jestli jsem to dobre pochopil:
marek:~/bash$ function enum () { > LocalArray="$1" > echo ${#LocalArray} > > } marek:~/bash$ marek:~/bash$ pole=(nula jedna dva tri) marek:~/bash$ marek:~/bash$ enum pole 4 marek:~/bash$Marek
No ono to bohuzel ma takovou neprijemnou vlastnost:
marek:~$ function enum () { > LocalArray="$1" > echo ${#LocalArray} > } marek:~$ pole=(nula jedna dva ) marek:~$ enum pole 4
Pocitame totiz pocet znaku ve slove "pole"
Takze se za blamaz omlouvam a sypu si popel na hlavu.
Marekecho ${#array[*]} echo ${#array[@]}Je tam drobny rozdil, ale ten uz si nepamatuju.. NN
Dobry den.
marek:~$ function enum () { > eval "echo \${#${1}[@]}" > } marek:~$ pole=(nula jedna "dva tri") marek:~$ enum pole 3
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.