LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 08-31-2004, 02:13 AM   #1
WinterSt
LQ Newbie
 
Registered: Aug 2004
Posts: 6

Rep: Reputation: 0
Unix Shell Scripting, detecting the enter key


Hello, this is my first post so hello everyone!

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


Thank you.

Last edited by WinterSt; 08-31-2004 at 02:14 AM.
 
Old 08-31-2004, 03:11 AM   #2
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Code:
#!/bin/sh
while read userInputTest
do
   [[ -n "$userInputTest" ]] && break
   echo you did not make a selection
done
 
Old 08-31-2004, 04:18 AM   #3
WinterSt
LQ Newbie
 
Registered: Aug 2004
Posts: 6

Original Poster
Rep: Reputation: 0
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.
 
Old 08-31-2004, 04:29 AM   #4
Proud
Senior Member
 
Registered: Dec 2002
Location: England
Distribution: Used to use Mandrake/Mandriva
Posts: 2,794

Rep: Reputation: 116Reputation: 116
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.
 
Old 08-31-2004, 04:48 AM   #5
WinterSt
LQ Newbie
 
Registered: Aug 2004
Posts: 6

Original Poster
Rep: Reputation: 0
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
 
Old 08-31-2004, 10:27 AM   #6
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
sorry that code does not work for me in the bourne shell I am using.
OK, just use bash or ksh instead:
Code:
#!/bin/bash
while read userInputTest
do
   [[ -n "$userInputTest" ]] && break
   echo you did not make a selection
done
If you need to use the good old bourne shell, here's the fix:
Code:
#!/bin/sh
while read userInputTest
do
   test -n "$userInputTest" && break
   echo you did not make a selection
done
 
Old 09-01-2004, 06:06 AM   #7
infernal
Member
 
Registered: Oct 2001
Location: /dev/null
Distribution: Debian, Slackware
Posts: 44

Rep: Reputation: 15
try this. I verified myself and it works:

Code:
#!/bin/sh

while :; do
        read tmp
        if [ -z "$tmp" ]; then
                echo "empty string!!"
        else
                break
        fi
done
 
Old 09-01-2004, 08:27 AM   #8
WinterSt
LQ Newbie
 
Registered: Aug 2004
Posts: 6

Original Poster
Rep: Reputation: 0
Thanks. The problem has been solved.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Have to enter WEP-key over and again artificialGekko Linux - Wireless Networking 2 11-07-2005 07:11 AM
enter wep key....where?? bariswheel Mandriva 3 12-23-2004 03:19 AM
How do you enter a Wep key? yodaf Linux - Wireless Networking 3 08-27-2004 09:59 PM
How to enter my WEP key? stuart Linux - Wireless Networking 15 07-21-2004 09:32 AM
checking for the 'enter' key Error1312 Programming 1 02-25-2004 10:30 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 06:33 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration