Portál AbcLinuxu, 13. května 2025 20:19

Dotaz: bash a multi proměnná

18.9.2010 23:23 f1lo | skóre: 16
bash a multi proměnná
Přečteno: 444×
Odpovědět | Admin
Dobrý večer, nevím si rady s použítím multi proměnné v bashi, tedy něco takového:
config
mysql["host"]="localhost"
mysql["username"]="user"
mysql["password"]="heslo"


test.sh
#!/bin/sh
source ./config
echo "${mysql["username"]}" # tohle právě nefunguje a vypisuje to poslední hodnotu proměnné mysql, tj. password


Dá se vůbec něco takové použít? Pokud ano, co dělám špatně? Děkuji předem za odpovědi.

Řešení dotazu:


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

Odpovědi

18.9.2010 23:43 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: bash a multi proměnná
Odpovědět | | Sbalit | Link | Blokovat | Admin
To, co potřebuješ, se nazývá asociativní pole a je potřeba to explicitně deklarovat:
declare -A mysql

mysql["host"]="localhost"
mysql["username"]="user"
mysql["password"]="heslo"
18.9.2010 23:45 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: bash a multi proměnná
A ještě by to chtělo bashové skripty skutečně spouštět bashem:
#!/bin/bash
19.9.2010 00:33 marbu | skóre: 31 | blog: hromada | Brno
Rozbalit Rozbalit vše Re: bash a multi proměnná
Jeste bych dodal, ze asociativni pole umi bash od verze 4, takze treba v Debianu stable nebo RHEL/CentOSu to fungovat nebude.
There is no point in being so cool in a cold world.
19.9.2010 14:37 f1lo | skóre: 16
Rozbalit Rozbalit vše Re: bash a multi proměnná
Děkuji za připomínku, protože jedu právě na Debian stable, takže jsem aktualizoval balíček bash a už to šlape, jak má, děkuji.
18.9.2010 23:44 chrono
Rozbalit Rozbalit vše Re: bash a multi proměnná
Odpovědět | | Sbalit | Link | Blokovat | Admin
V bash polia takto nefungujú (mohol by si tam použiť len niečo ako mysql[0]="localhost"; mysql[1]=...).

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.