Bash - wymuszenie podania danych.

0

Witam,

sprawa dotyczy prostego skryptu w którym podajemy swoje imię oraz wiek. Problem polega na tym, aby w przypadku braku jednej z informacji skrypt wyświetlił informacje o jej braku. Np. Podaj imię: Klikam enter i system wyrzuca informacje o błędzie.

0
  1. Czy komunikat ma być wypisywany na standardowe wyjście?
  2. Czy skrypt ma się kończyć po wypisaniu komunikatu?
  3. Masz już coś z tego skryptu?
1
  1. read -p "Prompt" ZMIENNA - wyświetla komunikat zachęcający do wprowadzenia tekstu i zapisuje wynik na ZMIENNA
  2. [[ -z $ZMIENNA ]] - testuje czy zmienna jest pusta / niezdefiniowana
  3. [[ warunek1 -o warunek2 ]] - testuje czy zachodzi jeden z warunków

Tyle Ci powinno wystarczyć do napisania tego skryptu.

1
#!/bin/bash
read -p "Podaj imię: " imie
while [[ $imie = "" ]]; do
echo "Wprowadziłeś niepoprawne imię !"
read -p "Podaj imię: " imie
done
echo "OK, imię poprawne"
0
Silv napisał(a):
  1. Czy komunikat ma być wypisywany na standardowe wyjście?
  2. Czy skrypt ma się kończyć po wypisaniu komunikatu?
  3. Masz już coś z tego skryptu?

Dzięki za odpowiedź. Skrypt wygląda następująco, ale jest błąd.
Tak, skrypt ma się kończyć po wypisaniu komunikatu.

0
gk1982 napisał(a):
#!/bin/bash
read -p "Podaj imię: " imie
while [[ $imie = "" ]]; do
echo "Wprowadziłeś niepoprawne imię !"
read -p "Podaj imię: " imie
done
echo "OK, imię poprawne"

Wielki dzięki,

wszystko działa.

0

wszystko działa.

Nie obsługujesz EOF.

1 użytkowników online, w tym zalogowanych: 0, gości: 1