Bash, tworzenie tablicy
-
- Piegowaty Guziec
- Posty: 8
- Rejestracja: 19 kwie 2012, 19:48
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
- Architektura: x86
Bash, tworzenie tablicy
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.
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.
- Dwimenor
- 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
Chodzi ci o wypisanie konkretnego elementu tablicy?
Bo wczytywanie danych do tablicy takie jak zrobiłeś jak najbardziej działa.
Kod: Zaznacz cały
echo ${tab[0]}
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
Powyższe zdanie jest prawdziwe.
-
- 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
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
- Dwimenor
- 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
Spróbuj takiego kodu
I pokaż co wyrzuci. Bo coś mi się wydaje, że któryś z nas gdzieś popełnia niesamowicie okropny błąd.
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]}
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
Powyższe zdanie jest prawdziwe.
-
- Piegowaty Guziec
- Posty: 8
- Rejestracja: 19 kwie 2012, 19:48
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
- Architektura: x86
Re: Bash, tworzenie tablicy
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
- Dwimenor
- 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
Używasz interpretera sh i jeszcze dziwisz się, że nie działa. A sam dokładnie precyzujesz:cat t.txt | sh cos
Bash, tworzenie tablicy
Poniższe zdanie jest fałszywe.
Powyższe zdanie jest prawdziwe.
Powyższe zdanie jest prawdziwe.
-
- Piegowaty Guziec
- Posty: 8
- Rejestracja: 19 kwie 2012, 19:48
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
- Architektura: x86
Re: Bash, tworzenie tablicy
Tak mi pokazywano jak się odpala skrypty w bash'u
- 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
To Twoim zdaniem rum i rumak to to samo?
-
- Piegowaty Guziec
- Posty: 8
- Rejestracja: 19 kwie 2012, 19:48
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
- Architektura: x86
Re: Bash, tworzenie tablicy
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.
-
- 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
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)
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości