Nowe posty

Autor Wątek: Dynamiczne zmienne w bashu?  (Przeczytany 4142 razy)

Aman

  • Gość
Dynamiczne zmienne w bashu?
« dnia: 2010-08-13, 14:04:11 »
Koniecznie potrzebuję uzyskać zmienne dynamiczne.
Coś a'la postać:
NAZWA_$1=`cat baza/$1/nazwa`
Potrzebuję czegoś takiego, gdyż zdarza się, że czasami skrypt jest wywoływany dokładnie co do sekundy i wychodzą dziwne krzaczki.
Da radę coś takiego w ogóle uzyskać? Jak to później wywoływać?

Chyba, że ktoś ma lepszą koncepcję.
Zaznaczam, że do skryptu może być przekazywana nieskończona liczba parametrów, które także są obsługiwane.

Offline

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 111
    • Zobacz profil
Dynamiczne zmienne w bashu?
« Odpowiedź #1 dnia: 2010-08-13, 15:00:18 »
Dlaczego chcesz mieć zmienne?

Nie lepiej użyć funkcji i cytowania poleceń?

Aman

  • Gość
Dynamiczne zmienne w bashu?
« Odpowiedź #2 dnia: 2010-08-13, 18:30:34 »
Dlaczego chcę mieć dynamiczne zmienne?
Otóż powód jest prosty. Czasem się zdarzy, że skrypt zostanie wykonany 2+ więcej razy w tym samym czasie. Doprowadza to do tego, że zmienne się nadpisują/mieszają i wychodzą dziwne rzeczy.
Co rozumiesz przez cytowanie poleceń?

arctgx

  • Gość
Dynamiczne zmienne w bashu?
« Odpowiedź #3 dnia: 2010-08-13, 20:37:09 »
#!/bin/bash
zm_1=1
zm_2=2
tablica_zmiennych=(zm_1 zm_2)
echo ${!tablica_zmiennych[1]}
zmienna_zmienna=zm_1
echo ${!zmienna_zmienna}
oraz man -LC bash powinno wystarczyć.