• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skrypt w Bashu - wyświetlanie zawartości tablicy pod warunkiem

0 głosów
50 wizyt
pytanie zadane 10 stycznia w Inne języki przez Danthee Początkujący (260 p.)

Witam,

Mam do napisania skrypt, który: będzie oczekiwał wprowadzenia słów aż do momentu gdy wprowadzisz słowo "quit". Wtedy wypisuje na ekranie te słowa które zostały wprowadzone.

 

Zrobiłem coś takiego, ale wyskakują błędy i sam program nie działa poprawnie.

#!/bin/bash
declare -a tablica
until [ $wyraz = quit ] ; do
i = 0
echo "podaj wyraz: "
read wyraz
eval "$tablica[i]=$wyraz"
i=$((i+1))
done
echo "${tablica[*]}"

Może ktoś poratuje podpowiedzią? :)

1 odpowiedź

+1 głos
odpowiedź 10 stycznia przez Benek Nałogowiec (30,390 p.)
wybrane 10 stycznia przez Danthee
 
Najlepsza

Hm, zmienne trzeba objąć cudzysłowem przy porównaniu, chyba że zastosujesz podwójny nawias. Ponadto trzeba obsłużyć przypadek, w którym nie dodajemy już do tablicy ciągu quit.

#!/bin/bash

declare -a arr
while [ "True" == "True" ]
do
	echo "Type a word: "
	read word
	if [ "$word" == "quit" ]
	then
		break
	fi
	arr+=("$word")
done
echo ${arr[@]}

Warunek z pętli przeniosłem do if-a, bo inaczej działałaby w nieskończoność.

komentarz 10 stycznia przez Danthee Początkujący (260 p.)

Dzięki wielkie laugh

Podobne pytania

0 głosów
1 odpowiedź 106 wizyt
pytanie zadane 22 maja 2016 w Inne języki przez Vendea Nowicjusz (120 p.)
0 głosów
1 odpowiedź 197 wizyt
pytanie zadane 20 listopada 2015 w Inne języki przez sh1nen Obywatel (1,570 p.)
0 głosów
1 odpowiedź 45 wizyt
pytanie zadane 15 grudnia 2015 w Inne języki przez Rivi Początkujący (320 p.)
...