Wprowadzanie danych (BASH)

Odpowiedz Nowy wątek
2013-03-31 18:11
0

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', a gdy doliczy do zera ma domyślnie wybrać 'n' i wyświetlić 'wybrano no' bez pomocy usera.
Pozdrawiam.

 #!/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

Pozostało 580 znaków

2013-03-31 18:27
myname
0

pewnie musisz do tego użyć timera:
http://stackoverflow.com/ques[...]ude-a-timer-in-bash-scripting

Pozostało 580 znaków

2013-03-31 18:45

#!/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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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