Portál AbcLinuxu, 12. května 2025 05:10

Dotaz: Bash - jde v něm toto provést?

11.3.2006 17:26 Thunder.m | skóre: 35 | blog: e17
Bash - jde v něm toto provést?
Přečteno: 157×
Odpovědět | Admin
Mohu provést v bashi například to:
promenna1="ahoj"
promenna2="nazdar"

i="1"

echo $promenna$i

Jde to nějak
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.3.2006 17:31 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud se nemýlím, tak echo ${promenna}${i}.
11.3.2006 17:32 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Pokud jsem to ovšem špatně nepochopil ;-)
11.3.2006 17:43 Thunder.m | skóre: 35 | blog: e17
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
díky, ale myslel jsem to jinak.

Mam proměnné:
LAN0="neco"
LAN1="neco jineho"
LAN2="a zase neco"
je jich mnoho, ale ja je nechci vypsat vsechny abych dostal jejich obsahy, ale potrebuju to nejak zautomatizovat.

Napřiklad:
i="0"
while [ $i -lt 10 ]; do
   echo "vypisuji obsha promenne LAN$i"
   echo $LAN$i <-- toto tak zpasat nejde, nechci psat $LAN1
   i="`expr $i +1`"
done
11.3.2006 17:50 #Tom
Rozbalit Rozbalit vše Jen tak mimochodem...
for ((i=0;i<10;i++)); do echo $i; done
David Watzke avatar 11.3.2006 17:56 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Jen tak mimochodem...
for i in {0..10}; do echo $i; done
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.3.2006 19:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
  for v in ${!LAN*}; do
    echo "${v}='${!v}'"
  done
11.3.2006 17:33 Honza "tux" Friesse | skóre: 15 | blog: Tuxův blog | Vyškov
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslím, že existují i lepší způsoby, ale například takto :
promenna1="ahoj"
promenna2="nazdar"

i="1"

eval echo '$'promenna$i
11.3.2006 17:38 #Tom
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Snad nějak takto:
P1=A
P2=B
I=1
II=P${I}
echo ${!II}
Šikovnější je tohle:
P[1]=A
P[2]=B
I=1
echo ${P[$I]}
11.3.2006 17:47 Thunder.m | skóre: 35 | blog: e17
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Chodí oboje, díky!
31.10.2006 18:16 Thunder.m | skóre: 35 | blog: e17
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
A nevěděl bys jak udělat ještě toto:
I=1
P$I="neco" <-tady je to co neumim
echo ${P[$I]}
?
31.10.2006 18:43 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Že by
I=1
P[$I]="neco"
echo ${P[$I]}
31.10.2006 18:46 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
P[$I]="neco"  # <-tady je to, co už umíš ;-)
11.3.2006 17:46 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Bash - jde v něm toto provést?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Niekde to tu bolo asi pred pol rokom v blogoch. Hladaj slovo bash v nazve blog-prispevku.
If you hold a Unix shell up to your ear, you can you hear the C.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.