How to check the user input to be valid using shell script?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to check the user input to be valid using shell script?
# 1  
Old 03-02-2013
How to check the user input to be valid using shell script?

How to check the user input to be valid using shell script?

The valid input is in the format like as follows.
1. It can only have r,w,x or a hyphen and nothing else.
2. ensure the r, w, x are in the correct order.

for example: rwxr-xr-x is a valid format.

Thanks
# 2  
Old 03-02-2013
First, your input (obviously a filemode mask) has more structure: the "r" can only appear in the 1nd, 4th or 7th place, the "w" can only appear in the 2rd, 5th or 8th place, etc.

Construct a regular expression for this and compare the input string against this regexp:

Code:
typeset input=""

print - "Enter input string: " ; read input
if print - "$input" | grep -q '^[-r][-w][-x][-r][-w][-x][-r][-w][-x]$' ; then
     print - "input: $input \tstatus: OK"
else
     print - "input: $input \tstatus: Not OK"
fi

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 3  
Old 03-02-2013
If we're being picky (and I do love to be picky), you should add the sticky, setuid, and setgid flags too.
Resulting in:
^[-r][-w][-xXs][-r][-w][-xXs][-r][-w][-xXt]$
(The capital letter X is where you've got a forth byte set but no execute).
This User Gave Thanks to Smiling Dragon For This Post:
# 4  
Old 03-02-2013
Thank you 2.
I got your idea although I can not run your code due to compile error.
Is there any convenient command to convert or substitute "rwxr-xr-x" to be "111101101"?
That means "change "r","w","x" to be "1", "-" to be "0".
After that, I want to change binary to octal format by "bc"? Is it a good method by "bc"?
I am a beginner. thanks for help.
# 5  
Old 03-02-2013
Quote:
Originally Posted by hyeewang
I got your idea although I can not run your code due to compile error.
What do you mean by "compile error"? What i wrote was Korn-Shell code. Which programming language are you using? (If not a shell, you are probably in the wrong forum. Say so and i transfer the thread to where it belongs.)

I hope this helps.

bakunin
# 6  
Old 03-02-2013
Quote:
Originally Posted by bakunin
What do you mean by "compile error"? What i wrote was Korn-Shell code. Which programming language are you using? (If not a shell, you are probably in the wrong forum. Say so and i transfer the thread to where it belongs.)

I hope this helps.

bakunin
Hi bakunin,

I am a beginner and only use bash shell. I got your idea and changed it to bash shell. It works. Thank you very much.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Recording user input from interactive shell script

Hello, I want to start out by saying that I am fairly new to scripting and am looking for someone that can point me in the right direction. Basically what I need is a way to run a interactive script that will prompt users with questions weather that be yes/no or a specific answer.. I want to be... (3 Replies)
Discussion started by: shoutcast
3 Replies

2. Shell Programming and Scripting

Need a script to check if an argument is valid shell variable

I need a script that should print 'yes' if the argument is a valid shell variable name else 'No' if it is not a valid shell variable. A valid one begins with an alphabet or percentage (%) character and is followed by zero or more alphanumberic or percentage (%) characters. For example: $... (6 Replies)
Discussion started by: pingiliarjun
6 Replies

3. Shell Programming and Scripting

Shell script to accept user input on the fly

I want a shell script that accepts user input simultaneously when performing other tasks. Example: A shell script should echo some messages on the console and when the user presses some keys it should respond to that action. say, when user presses the key A - more information should be printed... (2 Replies)
Discussion started by: Arun_Linux
2 Replies

4. Shell Programming and Scripting

create an array which can store the strings from the user input in shell script

I want to create an array which can store the strings from the user input in shell script . example :- I want to store the 5 fruits name in a single array which the user provides . (1 Reply)
Discussion started by: Pkast
1 Replies

5. Shell Programming and Scripting

How to get the user input recursively until the user provides valid input

Hi, echo "Enter file name of input file list along with absolute path : " read inputFileList if then for string in `cat inputFileList` do echo $string done else echo " file does not exist" fi From the above code, if the user enters a invalid file... (1 Reply)
Discussion started by: i.srini89
1 Replies

6. Homework & Coursework Questions

Bash shell - Check if value is valid directory.

1. The problem statement, all variables and given/known data: The script usage will be as follows: library.third source_directory - Your script will display an appropriate error message and exit with status 3 if no parameters are given - Your script will display an appropriate error... (2 Replies)
Discussion started by: netmaster
2 Replies

7. Shell Programming and Scripting

shell script to take input from a text file and perform check on each servers and copy files

HI all, I want to script where all the server names will be in a text file like server1 server2 server3 . and the script should take servernames from a text file and perform copy of files if the files are not present on those servers.after which it should take next servername till the end of... (0 Replies)
Discussion started by: joseph.dmello
0 Replies

8. Shell Programming and Scripting

User Input Shell Script

Hello I am trying to create a user input shell scipt. The objective is user should enter the circuit number and the input is saved in a log file. If the user does not enter anything then the question should prompt it until the circuit no. is entered. Can any one please correct the code below.... (3 Replies)
Discussion started by: sureshcisco
3 Replies

9. Shell Programming and Scripting

SQL PLUS Command 'ACCEPT' is not waiting for user input with sh shell script

Dear All, The sqlplus 'Accept' command is not waiting for user input when I include the command within a shell script. Note: The 'Accept' command is working fine if I execute it in a SQLPLUS Prompt. Please fins the below sample script which i tried. SCRIPT: -------- #!... (4 Replies)
Discussion started by: little_wonder
4 Replies

10. Shell Programming and Scripting

How to check for a valid numeric input

Hi Folks, I'm using bash script. I would like to check whether input is a number or not.(Only positive numbers).. if space or non numeric is entered, it should say "invalid input". pls help.. thanks in adv. Br/// Vijay. (1 Reply)
Discussion started by: Vijayakumarpc
1 Replies
Login or Register to Ask a Question