Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-03-31 17:27:07

  patrykcd - Nowy użytkownik

patrykcd
Nowy użytkownik
Zarejestrowany: 2013-03-31

wprowadzanie danych bez wciskania enter

Witam,
uczę się bash'a od paru dni i już mam pierwszy problem. :(
Czy da się zrobić tak ,żeby można było wprowadzać dane, ale bez wciskania enter?
Chciałbym, aby skrypt liczył od 3 do 0 i w międzyczasie dało się wpisać 'y' lub 'n'(bez wciskania enter), a gdy doliczy do zera ma domyślnie wybrać 'n' i wyświetlić 'wybrano no' bez pomocy usera.
Pozdrawiam.

Kod:

#!/bin/bash
echo -n "wybierz y/n("
i=3
until [ $i == -1 ]
do
  echo -n -e "$i)\b\b"
  read yes_or_no
  if [ $i == 0 ]
  then 
    yes_or_no="n"
  fi
  
  case $yes_or_no in
    "y" ) echo "wybrano yes"
          break;;
    "n" ) echo "wybrano no"
          break;;
    * ) echo "nic nie wybrałeś" 
  esac

  ((--i))
  sleep 1
done

Ok. już mam

Kod:

#!/bin/bash
i=3
until [ $i == -1 ]
do
  echo -n "wybierz y/n("
  echo -n -e "$i)\b\b"
  read -s -n 1 -t 5 yes_or_no
  if [ $i == 0 ]
  then 
    yes_or_no="n"
  fi
 
  case $yes_or_no in
    "y" ) echo "wybrano yes"
          break;;
    "n" ) echo "wybrano no"
          break;;
    * ) echo "nic nie wybrałeś" 
  esac
 
  ((--i))
  sleep 1
done

Ostatnio edytowany przez patrykcd (2013-03-31 18:52:22)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)