if statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting if statement
# 1  
Old 04-28-2010
if statement

i am trying to write a if and OR statement but its not working, can someone help me out
Code:
if `egrep -s "/usr2/local/ftpd" || tail -20 /usr2/logs/ftp.log | grep -c disconnecting = 0 
then
.
.


Last edited by vbe; 04-28-2010 at 02:02 PM.. Reason: code tags please
# 2  
Old 04-28-2010
I have no idea what this is supposed to be doing.

Code:
if `egrep -s "/usr2/local/ftpd"

Why are you putting a command that prints no output into backticks? And do you really want it to be reading from stdin?

Code:
|| tail -20 /usr2/logs/ftp.log | grep -c disconnecting = 0

So you want to check if the stream output of a command that's only going to ever print 'disconnecting' if anything at all, is zero? You also forgot the second backtick.

Could you explain exactly what you're trying to do here? I think your syntax is a bit messed up.
# 3  
Old 04-28-2010
this is how it was working before

Code:
if `egrep -s "/usr2/bin/ftpd" /var/tmp/check.tmp` 
then
        echo "   FTPD is Running..."

now i want to add a OR statement with it

Code:
tail -20 /usr2/logs/ftp.log | grep -c disconnecting = 0

so

Code:
if `egrep -s "/usr2/bin/ftpd" /var/tmp/check.tmp` OR  tail -20 /usr2/logs/ftp.log | grep -c disconnecting = 0
then
        echo "   FTPD is Running...
else
       echo " FTPD is not Running.


Last edited by Scott; 04-28-2010 at 02:44 PM.. Reason: Code tags, please...
# 4  
Old 04-28-2010
Quote:
Originally Posted by shehzad_m
this is how it was working before

if `egrep -s "/usr2/bin/ftpd" /var/tmp/check.tmp`
then
echo " FTPD is Running..."
That's a useless use of backticks, though a pretty unique variation on it -- I've never seen it used to suppress output before. Should be
Code:
if egrep -q -s "/usr2/bin/ftpd" /var/tmp/check.tmp
then
...

Quote:
now i want to add a OR statement with it

tail -20 /usr2/logs/ftp.log | grep -c disconnecting = 0
Right now you're telling it to check if the word 'disconnecting' exists in the files = and 0. Comparisons between strings have to happen between [ ].

Code:
if egrep -q -s "/usr2/bin/ftpd" /var/tmp/check.tmp ||
        [ $(tail -20 /usr2/logs/ftp.log | grep -c disconnecting) = 0 ]
then
...
fi


Last edited by Corona688; 04-28-2010 at 02:33 PM.. Reason: fix typo
# 5  
Old 04-28-2010
Code:
egrep -s "/usr2/bin/ftpd" /var/tmp/check.tmp
if [ $? eq "0" ]; then
 echo " FTPD is Running..."
else
 count=`tail -20 /usr2/logs/ftp.log | grep -c disconnecting`
 if [ $count = "0" ]; then
  echo " FTPD is Running..."
 fi
 else
  echo " FTPD is not Running.." 
fi

# 6  
Old 04-28-2010
Quote:
Originally Posted by Corona688
That's a useless use of backticks, though a pretty unique variation on it -- I've never seen it used to suppress output before. Should be
Code:
if egrep -q -s "/usr2/bin/ftpd" /var/tmp/check.tmp
then
...

Right now you're telling it to check if the word 'disconnecting' exists in the files = and 0. Comparisons between strings have to happen between [ ].

Code:
if egrep -q -s "/usr2/bin/ftpd" /var/tmp/check.tmp ||
        [ $(tail -20 /usr2/logs/ftp.log | grep -q disconnecting) = 0 ]
then
...
fi

i want to check for the output of grep -c

so when i run

Code:
tail -20 /usr2/logs/ftp.log | grep -c disconnecting

it gives me a count in the output, so if the count is equal to 0 then i want to echo ftp is running.

Last edited by Scott; 04-28-2010 at 02:45 PM.. Reason: Code tags, PLEASE!
# 7  
Old 04-29-2010
That's what my code does, then.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

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

2. Shell Programming and Scripting

If statement

Hi, I have this code here. Its suppose to do something when certain condition is met, I'm pretty sure at least one of the condition will be meet somewhere in the loop but it always go to else part of the script. Is something wrong on this script? age_list=`tar -tvf /home/dir/$tarfile... (4 Replies)
Discussion started by: erin00
4 Replies

3. Shell Programming and Scripting

Statement

${PFILE}.backupfile Please tell me what the above statement means? (1 Reply)
Discussion started by: lg123
1 Replies

4. Shell Programming and Scripting

If statement help

I'm trying to create a script that would allow me to identify the sucessful removal of a file. Here's what i put together so far, let me know if it's correct or not. FILE_NAME="cactus.dat" FILE_FIND='find / -name $FILE_NAME' if ;then echo "cactus.dat was not removed successfully" ... (3 Replies)
Discussion started by: sdpinoy
3 Replies

5. UNIX for Dummies Questions & Answers

If statement (yes or no)

I have the program: #!/bin/ksh echo Please enter yes or no read n typeset -l n if ] then echo My name exit else echo delete my name fi Question: How can I make the program accept only the word "yes" or "no" otherwise it will ask the user to re-enter? Thanks! (7 Replies)
Discussion started by: bobo
7 Replies

6. Shell Programming and Scripting

How is use sselect statement o/p in insert statement.

Hi All, I am using Unix ksh script. I need to insert values to a table using the o/p from a slelect statement. Can anybody Help! My script looks like tihs. ---`sqlplus -s username/password@SID << EOF set heading off set feedback off set pages 0 insert into ${TB_NAME}_D... (2 Replies)
Discussion started by: nkosaraju
2 Replies

7. Shell Programming and Scripting

If statement - How to write a null statement

In my ksh script, if the conditions of a if statement are true, then do nothing; otherwise, execute some commands. How do I write the "do nothing" statement in the following example? Example: if (( "$x"="1" && "$y"="a" && "$z"="happy" )) then do nothing else command command fi... (3 Replies)
Discussion started by: april
3 Replies

8. Shell Programming and Scripting

statement

I want to write a program that would convert yard to feet and feet to yard. i.e 1 yard = 3 * feet Echo "enter a" read a expr a *3 The trick is that I want to give the user some options. After the conversion from yard to feet is done, I want to ask the user whether or not he/she wants to... (10 Replies)
Discussion started by: Ernst
10 Replies

9. Shell Programming and Scripting

if statement

can someone please tell me what is wrong with the below. i'm trying to get a script to run if the content of a variable is either small letter y or capital letter Y. if then whatever fi (4 Replies)
Discussion started by: Terrible
4 Replies

10. Shell Programming and Scripting

If statement

Hi, I have a statement in shell script which i am writing below: if ] then ..... What is the meaning of -a option in files, meaning of the statement in the if condition ] means. Thanks (3 Replies)
Discussion started by: dreams5617
3 Replies
Login or Register to Ask a Question