Portál AbcLinuxu, 8. listopadu 2025 05:46
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.