BASH - premenne - otazka

Sekcia: Programovanie 15.11.2007 | 18:18
Grawp   Návštevník
Viete mi niekdo prosim proadiť ako môžem vyvolať premennú keď jej názov potrebujem získať z innej premennej?
skusal som neco jako

#!/bin/bash
ded=prd
prd=lala
echo $`echo $ded`

Chcel som spraviť aby mi vypisalo premennu ktorej meno je hodnota premennej ded no takto to nejak nefungovalo.
Niečo podobne mi išlo len v arrays keď som hodnutu inej premennej použil ako subscript. Niečo ako
echo ${pole[$premenna]}
No ale keby cem napr použit miesto slova pole nejaku premennu tak to zasa neviem.


A ešte mam jednu otázku: Na čo sa v BASHi pouźivajú dvojité úvodzovky "" ? program mi robí vždy to isté či tam uź sú alebo nie.
Thank in advance.
    • Re: BASH - premenne - otazka 15.11.2007 | 19:20
      Avatar nardew debian  Používateľ
      >Na čo sa v BASHi pouźivajú dvojité úvodzovky "" ?

      predstav si ze spracuvas nejakym prikazom subor, ktory ma v nazve medzeru. keby si danemu prikazu neuviedol nazov suboru v uvodzovkach, bral by to ako dva odlisne parametre
    • Re: BASH - premenne - otazka 15.11.2007 | 22:25
      Avatar Jaroslav Bernát BackTrack 3  Používateľ

      prd=lala
      ded=$prd
      echo "$ded"

      ?

      velmy som nepochopil otázke
      ked nevieš, tak nefušuj
      • Re: BASH - premenne - otazka 15.11.2007 | 22:26
        Avatar Jaroslav Bernát BackTrack 3  Používateľ
        sry
        ded="$prd"
        ked nevieš, tak nefušuj
        • Re: BASH - premenne - otazka 16.11.2007 | 15:51
          Grawp   Návštevník
          ze ako spravim napr toto:
          mam vela premennych, a chcem aby sa vypisal obsah premennej ktorej meno je ulozene v prvej premennej,
          chcem vlôastne aby ta prva premenna urcovala inu premennu ktorej obsah sa ma vipisat
          • Re: BASH - premenne - otazka 16.11.2007 | 23:08
            Avatar superlamer Debian RedHat FreeBSD  Používateľ
            nechapem zmysel toho, co chces. nestaci ti pole...?
            <pre>bash# grep initdefault /etc/inittab id:0:initdefault:</pre>
            • Re: BASH - premenne - otazka 16.11.2007 | 23:14
              Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
              Myslim, ze chce nieco podobne, ako v je v PHP:
              $x='nieco';
              $nieco='ahoj';
              
              echo ${$x};
              
              a to vypise "ahoj"
              Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
              • Re: BASH - premenne - otazka 16.11.2007 | 23:59
                Avatar Jaroslav Bernát BackTrack 3  Používateľ
                #!/bin/bash
                x="$nieco"
                nieco=ahoj

                echo "$x"

                toto ?
                tiež to vypíše ahoj.
                ked nevieš, tak nefušuj
                • Re: BASH - premenne - otazka 17.11.2007 | 00:39
                  Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                  Ale on chce nieco ako:
                  #!/bin/bash
                  x="nieco"
                  nieco="ahoj"
                  
                  echo ????? (nejaky vyraz obsahujuci $x ale neobsahujuci $nieco)
                  
                  a vypisat ma "ahoj"
                  Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                  • Re: BASH - premenne - otazka 17.11.2007 | 02:16
                    Avatar superlamer Debian RedHat FreeBSD  Používateľ
                    ale stale nechapem, aky to ma vyznam...
                    <pre>bash# grep initdefault /etc/inittab id:0:initdefault:</pre>
                    • Re: BASH - premenne - otazka 17.11.2007 | 23:53
                      marian34   Návštevník
                      problém je v premennej ded=prd,myslím,že keď si pre vyvolaním tejtopremennej prdneš,tak by to mohlo fungovať...
                  • Re: BASH - premenne - otazka 18.11.2007 | 00:11
                    Avatar Jaroslav Bernát BackTrack 3  Používateľ
                    premená neičo nikdy nemôže obsahovať dalšiu podpremneú cez nejakú hodnotu (rovnaké name)
                    ked nevieš, tak nefušuj
                    • Re: BASH - premenne - otazka 22.11.2007 | 16:06
                      Grawp   Návštevník
                      uz som na to prišiel
                      je na to príkaz eval
                      • Re: BASH - premenne - otazka 23.11.2007 | 09:38
                        Avatar Jaroslav Bernát BackTrack 3  Používateľ
                        no tak to ukáž, ako si to zriešil ?
                        ked nevieš, tak nefušuj
                        • Re: BASH - premenne - otazka 24.11.2007 | 00:45
                          Avatar nardew debian  Používateľ
                          napr:

                          a=b
                          b=slovo

                          eval echo '$'$a


                          vypise slovo
                          • Re: BASH - premenne - otazka 24.11.2007 | 07:59
                            Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
                            To je fakt pekne.
                            Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
                            • Re: BASH - premenne - otazka 03.12.2007 | 21:49
                              Grawp   Návštevník
                              ;))