[+] Wprowadzanie danych - BASH
: 31 marca 2013, 18:33
Witam.
Uczę się basha 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 użytkownika.
Pozdrawiam.
Edycja:
Mam rozwiązanie:
Uczę się basha 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 użytkownika.
Pozdrawiam.
Kod: Zaznacz cały
#!/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
Edycja:
Mam rozwiązanie:
Kod: Zaznacz cały
#!/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