Forum > Kącik Linuksa i Androida > Przeklęte tablice w Bashu !

Strona 1 z 1 1
skocz

Inferno

Wysłane 2014-11-13 21:05 , Edytowane 2014-11-13 21:06

Jak w Debianie w bashu wykonać tablice ?

declare -a nie rozpoznaje
tab=(a b d) nie rozpoznaje



Z tego

#!/bin/bash

 myarray[0]='hello'
 myarray[1]='world'

 echo ${myarray[0]}
 echo ${myarray[1]}


Dostaję to:

./t: 3: ./t: myarray[0]=hello: not found
./t: 4: ./t: myarray[1]=world: not found
./t: 6: ./t: Bad substitution


Pomocy, bo mi się tutoriale kończą :(


PS. Te odstępy w cytacie można by zmniejszyć bo to dwie duże linijki, ale to takie moje gdybanie

adir

  • adir
  • wiadomość Użytkownik

  • 968 wypowiedzi

Wysłane 2014-11-13 23:22

Co prawda na FBSD, ale działają 2 sposoby:


#!/usr/local/bin/bash

tab=(wartosc1 wartosc2 wartosc3)

echo ${tab[0]}
echo ${tab[1]}
echo ${tab[2]}


#!/usr/local/bin/bash

tab[0]="w3"
tab[1]="w2"
tab[2]="w1"

echo ${tab[0]}
echo ${tab[1]}
echo ${tab[2]}

i5-13500, Gigabyte B760 GAMING X, MSI RTX 4060 GAMING X, Kingston FURY Renegade Black DDR4 32GB 3600MHz CL16, Kingston KC3000 2TB M.2, Spartan 5 max

freebsd

Wysłane 2014-11-14 00:46 , Edytowane 2014-11-14 01:42

Inferno, to co wkleiłeś pod Debianem działa doskonale. 

Blog: http://jackiewiczowie.blogspot.com/

adir

  • adir
  • wiadomość Użytkownik

  • 968 wypowiedzi

Wysłane 2014-11-14 10:23

Inferno
Jeśli, nadal nie działa to sprawdź /bin/bash --help

Może masz coś namieszane z shellami. I albo to jakiś super stary bash albo inny shell zlinkowany do /bin/bash

i5-13500, Gigabyte B760 GAMING X, MSI RTX 4060 GAMING X, Kingston FURY Renegade Black DDR4 32GB 3600MHz CL16, Kingston KC3000 2TB M.2, Spartan 5 max

Inferno

Wysłane 2014-11-14 19:32 , Edytowane 2014-11-14 19:43

Linux Mint 17 odajże, XFCE x64.
Odpalam chyba za pomocą shella
sh ./doc.sh


//Edit
Tak, shell dupa, nie działa. Pomyślałem, poguglowałem i okazało się, że trzeba używać bash doc a nie sh ./doc (całe życie zmarnowane na sh !! ;p )
.... Nie chce mi się już siedzieć i pracować nad swoim skryptem, więc popatrzę i powprowadzam zmiany w weekend.
Muszę znaleźć i poczytać info o Bashu i o sh.

adir

  • adir
  • wiadomość Użytkownik

  • 968 wypowiedzi

Wysłane 2014-11-14 20:32

to wykonaj chmod 700 plik.sh
i odpalaj przez ./plik.sh  będzie łatwiej. a interpreter ustawiaj sobie w 1 linijce #!/...

i5-13500, Gigabyte B760 GAMING X, MSI RTX 4060 GAMING X, Kingston FURY Renegade Black DDR4 32GB 3600MHz CL16, Kingston KC3000 2TB M.2, Spartan 5 max
Strona 1 z 1 1
skocz

Kto jest online: 0 użytkowników, 434 gości