Validating user input is not blank


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Validating user input is not blank
# 1  
Old 10-09-2008
Validating user input is not blank

Trying to create a script in BASH that would ask the user to enter another user name making sure the input is not blank before they hit enter then to check the home directory of that user does exist, I have the check folder sorted it's just the loop to make sure the user has entered chars
# 2  
Old 10-10-2008
As a start:

Code:
while read a; do
     if [[ -z "${a}" ]]; then
          echo "That was empty, do it again!"
     else
          echo "Checking now..."
          break
     fi
done
echo out of the loop we go
exit 0

To test if a directory exists, use the -d switch of test or shell.
# 3  
Old 10-10-2008
Quote:
Originally Posted by zaxxon
As a start:

Code:
while read a; do
     if [[ -z "${a}" ]]; then
          echo "That was empty, do it again!"
     else
          echo "Checking now..."
          break
     fi
done
echo out of the loop we go
exit 0

To test if a directory exists, use the -d switch of test or shell.
Yeah I have the directory thing sorted but having trouble with the above Smilie


Code:
#!/bin/bash
 
cd /home/
 
echo -n "Enter Users Name : "
read name
while read a; do
     if [[ -z "${a}" ]]; then
          echo "That was empty, do it again!"
     else
          echo "Checking now..."
          break
     fi
done
# End of the loop
exit 0
 
if [ -d $name ]; then
echo That User Exists
else
echo No Such User!!
fi

# 4  
Old 10-10-2008
You are asking 2 times for a name:
Quote:
...
read name
while read a
...
That's one too much and you should decide if you use the variable name or a.

And when you test for a user, if it exists, use the tool "id <username>" maybe and check it's exit code with testing $?.
Testing with -d really just tests if the directory exists, but not if the user exists, which is a difference.
# 5  
Old 10-10-2008
Quote:
Originally Posted by zaxxon
You are asking 2 times for a name:


That's one too much and you should decide if you use the variable name or a.

And when you test for a user, if it exists, use the tool "id <username>" maybe and check it's exit code with testing $?.
Testing with -d really just tests if the directory exists, but not if the user exists, which is a difference.
Oh god I'm such a novice at all this linux.... Can understand what you mean about the username as yeah I was just checking in the home directory for the user name ... this could be renamed ...

as for the script ggrrrrrr

I been looking for a solution all day 10pm here and i'm so damned tired but I don't want to goto bed till I get this part of the script running. Smilie
# 6  
Old 10-10-2008
Linux and Unix are time consuming stuff. Best sleep over it and start fresh next morning with a clear head Smilie

I had and still have sometimes the same thing, that I look hours for some complicated solution while there is an easy way and when I see it I hit my forehead Smilie Smilie But that's what a superb forum like this here is good for Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

Validating uppercase/lowercase of user input with perl compared to unix folders

Hi, I need to copy files from a source directory to a destination directory in unix. I'm using the file::copy for the actual copy. The problem is that the source and dest directories are supplied by different users, who might type the name of the directories in various combinations of lower... (6 Replies)
Discussion started by: Furou
6 Replies

3. UNIX for Dummies Questions & Answers

Validating user input

I'm trying to set up a script that takes user input and validates that the user input was entered correctly. So far I have this: while : do echo "Please enter your name." read NAME if then echo "You have not entered a name." echo... (13 Replies)
Discussion started by: fufaso
13 Replies

4. Shell Programming and Scripting

validating user entered date

I need the date validation. I searched in the google but i didn't find my requirements. requirements: 1) user has to enter the date in YYYY/MM/DD format 2) MM validations 3) DD validations. and if the month is april it should allow 30 days only and for May month it should allow 31 days like... (1 Reply)
Discussion started by: KiranKumarKarre
1 Replies

5. Shell Programming and Scripting

Validating Input parameters

Hi All, I have tried to use ckdate (sun) command in script. It checks the input parameter which should be in 'YYYYMMDD format. date=$( echo $1 | ckdate -f "%Y%m%d") | true if ] then print " success" else print "no success" fi But in whatever format i pass the parameter,... (3 Replies)
Discussion started by: Amit.Sagpariya
3 Replies

6. UNIX for Dummies Questions & Answers

Validating input based on fixed number of fields

Yes, i did... let me state my problem in more detail Inputs: I have one input CSV file And, i have stored no. of comma each line should in a variable. e.g. $ cat cmt.csv this, is a ,comma ,count test1 ,,this, is a ,comma ,count test2 this, is a ,comma ,count test3... (6 Replies)
Discussion started by: Dipali
6 Replies

7. Shell Programming and Scripting

validating a input file for numeric and character

i have a input file like this 001|rahim|bajaj|20090102 while reading the file i need to check whether the first column is a number second column is a name is there any methodology to check for the same thanks in advance (2 Replies)
Discussion started by: trichyselva
2 Replies

8. Shell Programming and Scripting

Validating the input date format

I have one script.for that the inputs are fromdate(dd/mon/yyyy) and todate(dd/mon/yyyy). How i can validate the input format?for eg.27/08/2008 is not valid.27/aug/2008 or 27/Aug/2008 are valid. and the todate is optional.so if the todate is not present in the input then i need to assign the... (6 Replies)
Discussion started by: Sharmila_P
6 Replies

9. Shell Programming and Scripting

validating input using regular expressions

I am trying to validate input from the user in a script. I thought is was easy to do using regular expressions but I can't figure out how to use REs in a conditional. I have tried using grep from a temp file, sed from a temp file, sed from command line, comparison in an if condition and I cannot... (1 Reply)
Discussion started by: nrodolfich
1 Replies

10. Programming

validating input

how do i validate y script so that it only accepts values between 1 and 3 and against any character input, cause at the moment i can only validate against numbers outside 1 and 3 but not characters cheers (4 Replies)
Discussion started by: ruffenator
4 Replies
Login or Register to Ask a Question