Simple If then statement


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Simple If then statement
# 1  
Old 07-08-2010
Simple If then statement

Hello,

I have never actually created a bash script but thought I would give it a try and got hung up fast.(stupid noob). In the script I have parsed a xml file to get a bunch of file prefixs out. I am then going to check a folder to determine if a file with the correct prefix exists.

All the prefixs are stored in the variable HouseNums. $LolaLoc is the folder I am searching. I am trying to get this statement to comeback with the actual line from the ls search if a file is found but it is echoing $h whether i use = or !=. Any help would be greatly appreciated.

Code:
for h in $HouseNums
do
	if [$(ls -R "$LolaLoc" | grep $h*) != ""]; then
		echo $h
	fi
done


Thank you
Dallas

Last edited by joeyg; 07-08-2010 at 05:17 PM.. Reason: added codetags
# 2  
Old 07-08-2010
grep $h*

won't work.

You need to place whatever you have assigned the h[variables] to inside a file
call it hfile.

Then
Code:
 .. | grep -f hfile

# 3  
Old 07-08-2010
Thank you, one more question. What value would the variable have upon a empty result? I put null in here for an example. I hope the question makes sense.

Code:
for h in $HouseNums
do
	echo $h>$Tempie
	CheckFile=$(ls -R "$LolaLoc" | grep -f $Tempie)
	if ["$CheckFile" != null]; then
		echo $CheckFile
	fi
done


Last edited by Dallasbr; 07-08-2010 at 06:53 PM..
# 4  
Old 07-09-2010
Quote:
Originally Posted by Dallasbr
What value would the variable have upon a empty result?
One answer: the return string would be of length zero ...

Code:
if [ -z "$CheckFile" ]; then
   echo $CheckFile
fi

# 5  
Old 07-09-2010
Code:
for h in $HouseNums
do
        CheckFile=`ls -R "$LolaLoc" | grep $h`
        if [ "$CheckFile" != "" ]; then
                echo "Found: "$CheckFile
        fi    
done


Last edited by pludi; 07-09-2010 at 01:11 PM.. Reason: code tags, please...
# 6  
Old 07-09-2010
Thanks everyone. sjc, it worked exactly how I wanted it to, appreciate it.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How would I construct a (possibly simple) IF statement?

Hi all, I thought this would be simple, but I've been having a lot of trouble trying to write this IF statement, if I may ask for help pls: In BASH, how would I construct the if statement: Should ONLY be true if USEROPTscript=="yes"]] AND $mode=="INSTALL" /or/ $mode=="CHANGE" ]]... (3 Replies)
Discussion started by: jmccoughlin
3 Replies

2. Shell Programming and Scripting

Convert Update statement into Insert statement in UNIX using awk, sed....

Hi folks, I have a scenario to convert the update statements into insert statements using shell script (awk, sed...) or in database using regex. I have a bunch of update statements with all columns in a file which I need to convert into insert statements. UPDATE TABLE_A SET COL1=1 WHERE... (0 Replies)
Discussion started by: dev123
0 Replies

3. Shell Programming and Scripting

Need help with failing simple if statement

So I'm writing a script that takes in arguments given from the shell. The last argument I'm using as a tag to tell my script, via if statements, to do one thing or another. A sample input would be: script.scr infile.txt outfile.txt F The "F" at the end there I expect to be one of two tags... (3 Replies)
Discussion started by: Malavin
3 Replies

4. Shell Programming and Scripting

Simple if statement help needed please

if ]; then echo "successssssssssssssssssss" $filename = "<font color='red'>$i</font>" else echo "failureeeeeeeeeeeeeeeeeeeee" $filename = "$i" fi; I'm just trying to see is this - read a file name and highlight... (2 Replies)
Discussion started by: vmanda
2 Replies

5. Shell Programming and Scripting

Help with simple for statement please

Hi guys, I'm typing the following command, but I'm getting a different output than expected. for file in *20* do ls -l $file | wc -l done Instead of listing a total count of the files, it seems to be counting each file and then printing the number of the file - which is 1. How... (7 Replies)
Discussion started by: bbbngowc
7 Replies

6. Shell Programming and Scripting

simple if and then statement

guys, in one of my script, I want to include and a if and then statement which basically does the the following: if a file (constant location and filename) is greater in size than 0 bytes, then it should send out an email. I have tried the following so far with no luck: 1) if # is... (1 Reply)
Discussion started by: admininmaking
1 Replies

7. Shell Programming and Scripting

Simple if statement

Hi there, Im new in the scripting world and ran into trouble yesterday. I want to make a small script that runs in crontab checking folders. If the folder size is greater than 10 (or what I set the variable to) then send a mail with a warning. #!/bin/sh set -x A=8 C=`du -skh... (7 Replies)
Discussion started by: ntenz
7 Replies

8. Shell Programming and Scripting

Using simple if statement in script

Hello, I am trying to create a simple script that will check the disk usage of a drive, and if it is over the limit it will delete the oldest ten files. everything is working except for when i implement the if statement i get the error /usb0: zero divisor. I am pretty sure that the du -k... (1 Reply)
Discussion started by: bpage
1 Replies

9. Shell Programming and Scripting

sh -help with case statement (should be simple)

I'm having an issue running multiple commands in a case statement. If i only run one command it works fine. Am I supposed to use double semi-colons after each statement or do i not need any at all? here is a snippet of the code: case `uname` in "Linux") echo This is linux. cat... (1 Reply)
Discussion started by: kuliksco
1 Replies

10. Shell Programming and Scripting

What's wrong with this simple statement?

I know that this is a ridiculously simple statement, but I am getting an error when I execute it, and I can't figure out what it is. Can anyone point me in the right direction? #!/bin/ksh integer dateMonth=0 integer intZero=0 if then dateMonth = 1 fi echo $dateMonth (7 Replies)
Discussion started by: mharley
7 Replies
Login or Register to Ask a Question