Read command


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Read command
# 1  
Old 09-05-2016
Read command

Trying to use the read command. How do you add a 2nd option? In this example I'd like to offer two options, pre and post. If you answer pre, you get one output but if you answer post, you get another output.

Code:
echo Is this pre or post?
 read pre
 if [ "$pre" == "pre" ]
 then echo You have typed pre.
 
 fi

# 2  
Old 09-05-2016
use elif

Code:
echo Is this pre or post?
read pre
if [ "$pre" == "pre" ]
 then echo You have typed pre.
elif [ "$pre" == "post" ]
 then echo You have typed pre.
else
echo "valid options are pre and post"
 fi

# 3  
Old 09-05-2016
this logic does not work, have you tried it?
# 4  
Old 09-05-2016
can you explain this..

How do you add a 2nd option?

---------- Post updated at 10:50 AM ---------- Previous update was at 10:46 AM ----------

Code:
$ ./t.sh
Is this pre or post : pre
This is pre

$ ./t.sh
Is this pre or post : post
This is post

$ ./t.sh
Is this pre or post : abc
valid options are pre and post

$ cat t.sh
#!/bin/bash

echo -n "Is this pre or post : "
read ans

if [ "${ans}" == "pre" ]
then
        echo "This is pre"
elif [ "${ans}" = "post" ]
then
        echo "This is post"
else
        echo "valid options are pre and post"
fi

This User Gave Thanks to itkamaraj For This Post:
# 5  
Old 09-06-2016
Quote:
Originally Posted by jimmyf
this logic does not work, have you tried it?
Saying "does not work" without showing us the diagnostics you get, without telling us what operating system you're using, and without telling us what shell you're using gives us VERY little information to guess at what might be wrong.

The code itkamaraj suggested is using the wrong comparison operator, but he just duplicated the code you were using (so if your code was working, the changes he suggested should also work).

Are you saying that the 3rd echo in the suggestion:
Code:
 then echo You have typed pre.

needed to be:
Code:
 then echo You have typed post.

? If so, we would hope that you could correct a typo like that on your own. Please give us some details about your environment and about what is not working. Help us help you.
This User Gave Thanks to Don Cragun For This Post:
# 6  
Old 09-06-2016
Yes it was the typo, works well thank you.
# 7  
Old 09-06-2016
Did you consider the case ... esac command?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Need help with read command

Is there a way to make the input of the read command (or some similar command that I'm unaware of) not visible, or with an astrix?? An example: #!/bin/bash # Example echo; echo "Who are you??"; read name if ; then echo "Welcome, the terminal is yours."; exit else "Stranger... (2 Replies)
Discussion started by: Huitzilopochtli
2 Replies

2. Shell Programming and Scripting

Read from file and execute the read command

Hi, I am facing issues with the below: I have a lookup file say lookup.lkp.This lookup.lkp file contains strings delimited by comma(,). Now i want to read this command from file and execute it. So my code below is : Contents in the lookup.lkp file is : c_e,m,a,`cd $BOX | ls cef_*|tail... (7 Replies)
Discussion started by: vital_parsley
7 Replies

3. Shell Programming and Scripting

read command

Hello guys, I am trying to a script that reads from key board and use the entered value in the next step. Example: enter folder name read $folder (i will give work) cd /main/$folder/ pwd it should print /main/work ---------- Post updated at 03:31 PM ----------... (1 Reply)
Discussion started by: sharath24
1 Replies

4. UNIX for Dummies Questions & Answers

read command - using output from command substitution

Hey, guys! Trying to research this is such a pain since the read command itself is a common word. Try searching "unix OR linux read command examples" or using the command substitution keyword. :eek: So, I wanted to use a command statement similar to the following. This is kinda taken... (2 Replies)
Discussion started by: ProGrammar
2 Replies

5. UNIX for Dummies Questions & Answers

Read command

Hi everyone, I have problem while writing a shell script for linux (Red Hat). First I need to create a read command. I tried to google this but so far I can't sort this out. I hope you will be able to help me. I have to read a file like this : GESTION_DATA_SET_variable1_variable2 ... (2 Replies)
Discussion started by: Aswex
2 Replies

6. Shell Programming and Scripting

read command

Is there a way to use the READ command and force the user to enter a non-zero length string? If the user enters a zero length string the user input is rejected. code: print "what is the answer: \n" read answer (2 Replies)
Discussion started by: djehresmann
2 Replies

7. Shell Programming and Scripting

read command in while

hi all iam not able use read command in the while loop in the following program while read line do echo $line echo "enter name" read name echo "your have entered $name" done < work.txt THE READ COMMAND INSIDE THE WHILE LOOP IS NOT WORKING, IS ANY OTHER WAY TO SOLVE THIS... (7 Replies)
Discussion started by: avi.skynet
7 Replies

8. Shell Programming and Scripting

Regarding read command

Hi all, What does -u option indicates in read command. while read -u var1 do . . done < file.txt (1 Reply)
Discussion started by: krishna_gnv
1 Replies

9. Shell Programming and Scripting

read command

I have file which is space filled likE below Note: here spaces are replaced by |. When I use read command to read this file all the spaces are truncated only the default space is not removed. The output is Note: here spaces are replaced by |. Can this default truncation be override? (4 Replies)
Discussion started by: COD
4 Replies

10. Shell Programming and Scripting

read command

'Morning vmstat 1 1|sed 1,2d|awk '{printf("%s\n",$1)}'|read var echo $var This syntax run on AIX (ksh) but not on linux (bash). I think that problem is the read command, because the following syntax is ok : vmstat 1 1|sed 1,2d|awk '{printf("%s\n",$1)}' Could someone help me! regards... (16 Replies)
Discussion started by: nymus7
16 Replies
Login or Register to Ask a Question