• 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
36 wizyt
pytanie zadane 6 dni temu w Inne języki przez użytkownika Danthee Nowicjusz (240 punkty)

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ź 6 dni temu przez użytkownika Benek Pasjonat (21,410 punkty)
wybrane 6 dni temu przez użytkownika 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 6 dni temu przez użytkownika Danthee Nowicjusz (240 punkty)

Dzięki wielkie laugh

Podobne pytania

0 głosów
1 odpowiedź 99 wizyt
pytanie zadane 22 maja 2016 w Inne języki przez użytkownika Vendea Nowicjusz (120 punkty)
0 głosów
1 odpowiedź 165 wizyt
pytanie zadane 20 listopada 2015 w Inne języki przez użytkownika sh1nen Obywatel (1,490 punkty)
0 głosów
1 odpowiedź 40 wizyt
pytanie zadane 15 grudnia 2015 w Inne języki przez użytkownika Rivi Początkujący (320 punkty)
...