Check if a variable is having value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check if a variable is having value
# 1  
Old 02-12-2013
Check if a variable is having value

I have a script /root/asas with following contents.

Code:
#!/bin/bash

ha=`cat /etc/passwd | grep sandra`

if [ -n $ha ]; then
        echo "Sandra is in /etc/passwd"
        echo "variable ha is $ha"
else
        echo "Sandra is NOT in /etc/passwd"
        echo "variable ha is $ha"

fi

What I need is when "cat" does not find sandra in /etc/passwd, it should print "Sandra is NOT in /etc/passwd". But this is not giving correct result. See below.
Code:
[root@server ]# grep sandra /etc/passwd
#sandra

[root@server ]# sh /root/asas
Sandra is in /etc/passwd
variable ha is #sandra

[root@server ]# grep sandra /etc/passwd  --> sandra removed from /etc/passwd

[root@server ]# sh /root/asas
Sandra is in /etc/passwd  --> supposed to be "Sandra is NOT in /etc/passwd"
variable ha is

# 2  
Old 02-12-2013
Quote:
Originally Posted by anil510
I have a script /root/asas with following contents.

Code:
#!/bin/bash

ha=`cat /etc/passwd | grep sandra`

if [ -n $ha ]; then
        echo "Sandra is in /etc/passwd"
        echo "variable ha is $ha"
else
        echo "Sandra is NOT in /etc/passwd"
        echo "variable ha is $ha"

fi

What I need is when "cat" does not find sandra in /etc/passwd, it should print "Sandra is NOT in /etc/passwd". But this is not giving correct result. See below.
Code:
[root@server ]# grep sandra /etc/passwd
#sandra

[root@server ]# sh /root/asas
Sandra is in /etc/passwd
variable ha is #sandra

[root@server ]# grep sandra /etc/passwd  --> sandra removed from /etc/passwd

[root@server ]# sh /root/asas
Sandra is in /etc/passwd  --> supposed to be "Sandra is NOT in /etc/passwd"
variable ha is




If you just want to print Sandra is NOT in /etc/passwd" then why are you using " echo "variable ha is $ha" in else of your script?
# 3  
Old 02-12-2013
Try this

#!/bin/bash
more /etc/passwd | grep "sandra" 2>/dev/null
if [ "$?" = "0" ]; then
echo "FOUND"
else
echo "NOT FOUND"
fi
# 4  
Old 02-12-2013
Change
Code:
if [ -n $ha ]; then

to
either
Code:
if [ -n "$ha" ]; then

or
Code:
if [[ -n $ha ]]; then

.
There are at least a couple of improvements needed in your "script".
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check variable

Hi people, I would like to start a review of my config variable to check whether they have been changed and if not then there is only an echo. If they have been changed to my other commands are executed. I hope you can help me. with best regards JPad edit: here my code if ;... (8 Replies)
Discussion started by: JPad
8 Replies

2. Shell Programming and Scripting

How to check whether a variable is empty or contains some value?

hi, i want to check whether a a variable contains some value or is empty in a shell script. so if the variable contains some value i want to do some job and if the variable doesnt contain any value then i need to skip that job. here is a sample script read_filenames.sh contains ... (5 Replies)
Discussion started by: Little
5 Replies

3. Shell Programming and Scripting

Check the value of a variable

#!/bin/sh echo "Running Script to capture ORACLE Erros" # Change Directory to the actual logs path cd /home/nv8510/lognew err_var=`grep -in "ORA-" *` if then echo "THESE ARE THE ORACLE ERROR OCCURED" echo "$err_var" echo... (7 Replies)
Discussion started by: neeraj617
7 Replies

4. Shell Programming and Scripting

Check if a variable is zero

I have seen many posts for this sort of problem but I just did not know how to use it for my issue. A number is assigned to a variable and I wanted to check if it is a zero or non zero. Example of my numbers are below: 000000000000000000000000000000000000000000000000... (8 Replies)
Discussion started by: soujiv
8 Replies

5. UNIX for Dummies Questions & Answers

Check the value of a string variable

hi to all, i want to check the value of a variable that it contains characters. for example i try the following: if then ......... i just want to check that in the specific line that is a variable called "passline" has the entry "password". But it can contain also other characters in the... (4 Replies)
Discussion started by: omonoiatis9
4 Replies

6. Shell Programming and Scripting

check if a variable is not affected

Hi all, to check that a variable is not empty, I usually do: if ; then... or if ; then... what if I have a serie of variables and want to do the same test on all of them. How to do this in a single if statement? thank you (1 Reply)
Discussion started by: melanie_pfefer
1 Replies

7. Shell Programming and Scripting

How to check if a variable contains a .

Hi I am writing a bash script and would like to check is a variable contains a . or not ex. a=102 output ok a=1.02 output not ok Many thanks, (3 Replies)
Discussion started by: gekkos
3 Replies

8. Shell Programming and Scripting

How to check parameter variable?

Hello All, I have a script that will email out if the email address is specified as parameter 1. I am using ksh, and then tried the following : email=$1 Following did not work, I am getting error test -z $email test ${email:=" ") -eq " " test -n $email test ${?email} What... (4 Replies)
Discussion started by: negixx
4 Replies

9. Shell Programming and Scripting

check for NULL variable

Hello I want to check for NULL variable.. but this is not working..please help thanks in advance esham (2 Replies)
Discussion started by: esham
2 Replies

10. UNIX for Dummies Questions & Answers

Check if variable is a number

If I have a variable $X, how do I check it is a number? Many thanks. (2 Replies)
Discussion started by: handak9
2 Replies
Login or Register to Ask a Question