ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am writing a script with a menu that will return an error message if the user does not pick one of the valid options, and another if the user just presses the enter key.
Is it possible to use a while loop to detect if the user has only hit the enter key?
Below is a sample of the code I used when try to catch the enter key.
Code:
#!/bin/sh
read userInputTest
while [ "$userInpurtTest" != "[Enter]" ]
do
\t "echo you did not make a selection"
done
sorry that code does not work for me in the bourne shell I am using.
I get the following error
"tester.sh: [[: not found"
I guess I would like to know if I can catch the enter key by using read, placing it in a variable and then run a check on the variable to see if the user has pressed only the enter key.
I think the point is that the enter key isnt something you can explicitely test for, but the lack of any text on the entered line implies it, so test for that instead.
Thanks for pointing me in the right direction, in the end I used [ -z "$userInputTest" ] checks if $userInputTest is null.
Code:
read userInputTest
if [ -z "$userInputTest" ]; then
echo "Selection not entered.\nPress Enter to continue \c"; read dummy
else echo "Invalid code!\nPress Enter to continue \c"; read dummy
fi
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.