С приведенным ниже сценарием, если я нажму на return, все работает нормально. и все как обычно, когда я выхожу.
Однако, если вместо этого я жду истечения времени ожидания, то я получаю эхо-сигналы, которые я ожидаю, но при выходе и возвращении к терминалу. Приглашение linux сбито с толку, и я получаю несколько подсказок терминала в строке, и я не вижу команд, которые я ввожу.
#!/bin/bash
read -t 5 -e -p "INFO: Do you want to do more stuff? [n]: " RESPONSE
if [ "$RESPONSE" != "y" ] ; then
echo "INFO: Not doing anything anymore"
else
echo "INFO: doing more stuff"
fi
echo "INFO: completely done"
exit 0
Любая идея, что мне нужно сделать в сценарии, чтобы убедиться, что все это возвращается в нормальное состояние, когда я выхожу?
Я изменил это сейчас, и проблема исчезла:
#!/bin/bash
read -t 5 -p "INFO: Do you want to do more stuff? [n]: " RESPONSE
if [ $? -ne 0]; then
echo
fi
if [ "$RESPONSE" != "y" ] ; then
echo "INFO: Not doing anything anymore"
else
echo "INFO: doing more stuff"
fi
echo "INFO: completely done"
exit 0
кажется, -e (использование readline) вызывало у меня проблему, дон не совсем понимаю, почему. Бег на Centos 6.8