Bash, tworzenie tablicy

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
takeshi2318
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 19 kwie 2012, 19:48
Płeć: Mężczyzna
Środowisko graficzne: GNOME
Architektura: x86

Bash, tworzenie tablicy

Post autor: takeshi2318 »

Witam jestem początkujący jeżeli chodzi o programowanie w bash'u i w swojej nauce napotkałem na problem który z którym nie umiem sobie poradzić. Otóż potrzebuje wczytać dane do tablicy i myślałem że jest to proste(po przeczytaniu tutorialu)
myślałem żeby zrobić to tak:

i=0
while read line
do
tab[$i]=$line
i=$(($i+1))
done

Tylko że pokazuje mi błąd tab[0]=ala : not found, ba samo tab[0]=cos, które według tego co czytałem powinno utworzyć tablice daje ten sam błąd.
Z góry dzięki za pomoc.
Ostatnio zmieniony 19 kwie 2012, 21:19 przez takeshi2318, łącznie zmieniany 1 raz.
Awatar użytkownika
Dwimenor
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1260
Rejestracja: 18 mar 2008, 16:14
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Architektura: x86_64

Re: Bash, problem przy tworzeniu tablicy

Post autor: Dwimenor »

Chodzi ci o wypisanie konkretnego elementu tablicy?

Kod: Zaznacz cały

echo ${tab[0]}
Bo wczytywanie danych do tablicy takie jak zrobiłeś jak najbardziej działa.
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
takeshi2318
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 19 kwie 2012, 19:48
Płeć: Mężczyzna
Środowisko graficzne: GNOME
Architektura: x86

Re: Bash, problem przy tworzeniu tablicy

Post autor: takeshi2318 »

Chodziło mi o wczytanie. No i tutaj tkwi problem bo u mnie to wczytanie do tablicy nie śmiga. Mam ciągle ten błąd tab[0] = cos :not found
Awatar użytkownika
Dwimenor
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1260
Rejestracja: 18 mar 2008, 16:14
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Architektura: x86_64

Re: Bash, problem przy tworzeniu tablicy

Post autor: Dwimenor »

Spróbuj takiego kodu

Kod: Zaznacz cały

#!/bin/bash -x


i=0
while read line
do
tab[$i]=$line
i=$(($i+1))

if [ $i -ge 5 ]; then
	break
fi
done

echo ${tab[0]}
I pokaż co wyrzuci. Bo coś mi się wydaje, że któryś z nas gdzieś popełnia niesamowicie okropny błąd.
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
takeshi2318
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 19 kwie 2012, 19:48
Płeć: Mężczyzna
Środowisko graficzne: GNOME
Architektura: x86

Re: Bash, tworzenie tablicy

Post autor: takeshi2318 »

Kod: Zaznacz cały

mrwhite@MrWhitePC:~/skrypty$ cat t.txt | sh cos
cos: 13: tab[0]=ala: not found
[: 13: missing ]
cos: 13: tab[1]=ma: not found
[: 13: missing ]
cos: 13: tab[2]=kota: not found
[: 13: missing ]
cos: 15: Bad substitution
Awatar użytkownika
Dwimenor
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1260
Rejestracja: 18 mar 2008, 16:14
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Architektura: x86_64

Re: Bash, tworzenie tablicy

Post autor: Dwimenor »

cat t.txt | sh cos
Używasz interpretera sh i jeszcze dziwisz się, że nie działa. A sam dokładnie precyzujesz:
Bash, tworzenie tablicy
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
takeshi2318
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 19 kwie 2012, 19:48
Płeć: Mężczyzna
Środowisko graficzne: GNOME
Architektura: x86

Re: Bash, tworzenie tablicy

Post autor: takeshi2318 »

Tak mi pokazywano jak się odpala skrypty w bash'u
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Bash, tworzenie tablicy

Post autor: ethanak »

To Twoim zdaniem rum i rumak to to samo?
takeshi2318
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 19 kwie 2012, 19:48
Płeć: Mężczyzna
Środowisko graficzne: GNOME
Architektura: x86

Re: Bash, tworzenie tablicy

Post autor: takeshi2318 »

Nie chce nikomu niczego sugerować, ale u mnie na uczelni skrypty odpalane poprzez sh a nie bash działają normalnie. Więc nie rozumiem czemu.
kklimonda
Zakręcona Traszka
Zakręcona Traszka
Posty: 585
Rejestracja: 20 kwie 2008, 04:21
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME

Re: Bash, tworzenie tablicy

Post autor: kklimonda »

W Debianie i Ubuntu sh != bash, to zupełnie inny shell, nie mający wszystkich możliwości basha (za to lżejszy i szybszy w ładowaniu)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości