Easy if conditional question.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Easy if conditional question.
# 1  
Old 03-06-2010
Question Easy if conditional question.

I'm just starting this whole scripting thing, and I'm trying to write a simple script which will ask the user to press a key between 3-7. If they press a key that's not between 3-7, it will tell the user such.

Here's my script:

Code:
#!/bin/bash

blah=1
echo -n "Press a key from 3-7."
read -n 1 -s blah
if [ $blah > 3 ]
then
        if [ $blah < 7 ]
        then
        echo "You entered $blah, that works."
        else
        echo "You entered $blah, that's too high."
        fi
else
echo "You entered $blah, that's too low."
fi
exit

# 2  
Old 03-06-2010
Quote:
Originally Posted by SlickStretch
... a simple script which will ask the user to press a key between 3-7. If they press a key that's not between 3-7, it will tell the user such.
...
Maybe something like this ?

Code:
$ 
$ cat -n testkey.sh
     1  #!/bin/bash
     2
     3  echo -n "Press a key from 3-7 : "
     4  read CHR
     5  echo "You entered $CHR"
     6
     7  # Using case statement
     8  case "$CHR" in
     9    [3-7])  echo "It's in the range [3,7]";;
    10    *)      echo "It's NOT in the range [3,7]";;
    11  esac
    12
    13  # Using if branch
    14  if (( $CHR >= 3 && $CHR <= 7 ))
    15  then
    16    echo "Once again, it's in the range [3,7]";
    17  else
    18    echo "Once again, it's NOT in the range [3,7]";
    19  fi
    20
$ 
$ ./testkey.sh
Press a key from 3-7 : 2
You entered 2
It's NOT in the range [3,7]
Once again, it's NOT in the range [3,7]
$ 
$ ./testkey.sh
Press a key from 3-7 : X
You entered X
It's NOT in the range [3,7]
Once again, it's NOT in the range [3,7]
$ 
$ ./testkey.sh
Press a key from 3-7 : 5
You entered 5
It's in the range [3,7]
Once again, it's in the range [3,7]
$ 
$

tyler_durden
# 3  
Old 03-06-2010
Quote:
Originally Posted by SlickStretch
I'm just starting this whole scripting thing, and I'm trying to write a simple script which will ask the user to press a key between 3-7. If they press a key that's not between 3-7, it will tell the user such.

Here's my script:

Code:
#!/bin/bash

blah=1
echo -n "Press a key from 3-7."
read -n 1 -s blah
if [ $blah > 3 ]
then
        if [ $blah < 7 ]
        then
        echo "You entered $blah, that works."
        else
        echo "You entered $blah, that's too high."
        fi
else
echo "You entered $blah, that's too low."
fi
exit

Something like this:
Code:
if [ $blah -ge 3 -a $blah -le 7 ]
then
  echo "You entered $blah, that works."
elif [ $blah -lt 3 ]
then
  echo "You entered $blah, that's too low."
elif [ $blah -gt 7 ]
then
  echo "You entered $blah, that's too high."
fi

# 4  
Old 03-06-2010
Thanks Franklin52, that's exactly what I was looking for.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Conditional IF Question

I trying to get a simple script to see if a directory contains any files in it. I am failing on the conditional IF statement. I am not sure if it because the command I am using is creating the variable as a string or if it is numeric or if I just have the syntax wrong. #!/usr/bin/ksh... (2 Replies)
Discussion started by: awkwardone
2 Replies

2. Shell Programming and Scripting

Easy VI Question (I hope)

Hi, I've FTPed some text files from windows to my Linux workstation. I'm finding that the characters for quotes (") have been replaced with control characters <93> and <94>. and apostrophes (') have been replaced with what looks like control character <92>. I have attempted the following... (15 Replies)
Discussion started by: larryjmoon
15 Replies

3. Shell Programming and Scripting

easy grep question

pattern matching porblem. I have a file with lines like this: hdisk2 blah 03 hdisk3 blah 03 hdisk21 blat 06 hdisk23 blah 06 hdisk210 blat 06 So I want to grep for just hdisk2, but I get back as you would expect hdisk2 dhsik21 hdisk23 hdisk210 I tried several... (1 Reply)
Discussion started by: adder2
1 Replies

4. UNIX for Dummies Questions & Answers

easy question

Hi everybody: Could anybody tell me if I have several files which each one it has this pattern name: name1.dat name2.dat name3.dat name4.dat name10.dat name11.dat name30.dat If I would like create one like: name_total.dat If I do: paste name*.dat > name_total.dat (15 Replies)
Discussion started by: tonet
15 Replies

5. Shell Programming and Scripting

Hopefully an Easy Question

I have a file name in this format ABC_WIRE_TRANS_YYYYMMDD_00.DAT I need to cut out the _00 out of the file name everytime. It could be _00, _01,_02, etc .... How do I cut it out to look as follows? ABC_WIRE_TRANS_YYYYMMDD.DAT (6 Replies)
Discussion started by: lesstjm
6 Replies

6. UNIX for Dummies Questions & Answers

easy unix question

I am trying to check through all of a certain type of file in all main directories, and find the top 10 that are taking up the most space. How can I do that? I was thinking like du *.file | sort -n | head (1 Reply)
Discussion started by: wallacer
1 Replies

7. Shell Programming and Scripting

A easy question.

this is the simple question, please help me! the question is: how to send exactly 50 ICMP Echo request packets with 500 bytes of payload to 202.139.129.221? I tried to use ping -F 500 202.139.129.221, but it didn't work. Thanks! (6 Replies)
Discussion started by: kikikaka
6 Replies

8. UNIX for Dummies Questions & Answers

Another easy question

Hello Again, Ok guys. Thanks again for your help last time but I am in need of your experience again. I wrote this script: #!/bin/sh # List either files or directories in individual accounts # using 1, 2 or 3 with invalid case $1 in echo select 1 to see the FILES in your... (3 Replies)
Discussion started by: catbad
3 Replies

9. UNIX for Dummies Questions & Answers

easy question

I know the Sun Solaries versions are ( 2.3 , 2.4 , 2.5 ... 7 , 8 ) . But some times I see sun os v5.x what does it mean ?? also what is the last new machine for sun and what are its details specifications . Thanks (3 Replies)
Discussion started by: tamemi
3 Replies

10. UNIX for Dummies Questions & Answers

Easy question

Hi, Simple question. How do I convert a unix text file to a dos text file? Thanks Helen (4 Replies)
Discussion started by: Bab00shka
4 Replies
Login or Register to Ask a Question