The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Accessing variables of one shell script in another shell script rsendhilmani Shell Programming and Scripting 2 03-17-2009 01:17 AM
Accessing variables of one shell script in another shell script looza Shell Programming and Scripting 2 06-30-2008 08:13 PM
How to pass a parameter from one Shell-script to another Shell-script subodhbansal Shell Programming and Scripting 2 09-22-2007 06:19 AM
How to Run a shell script from Perl script in Parent shell? hifake Shell Programming and Scripting 16 08-28-2007 09:42 PM
Have a shell script call another shell script and exit heprox Shell Programming and Scripting 2 11-20-2006 08:17 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-12-2008
ggayathri ggayathri is offline
Registered User
  
 

Join Date: Oct 2008
Posts: 18
Need help with shell script

Hi,

I need a little bit of help with debugging of this script. The purpose of this script is to check if a particular user has logged in. If logged out, then I would like to send an email containing the output of a log to a set of email ids.

Code:
#! /bin/sh                                                                      
                                                                                
echo "The current users are:"                                                   
                                                                                
who | awk '{print $1}' | sort > temp1                                           
cp temp1 temp2                                                                  
more temp1                                                                      
                                                                                
while true                                                                      
do                                                                              
    who | awk '{print $1}' | sort > temp2                                       
    cmp -s temp1 temp2                                                          
                                                                                
    case "$?" in                                                                
                                                                                
    0)                                                                          
        echo "No user has logged in/out in the last 5 seconds."                 
        ;;                                                                      
                                                                                
    1)                                                                          
        user='gayathri'                                                         
        file=`grep $user temp1 temp2 | cut -c 1-5`  
        file=`grep $user temp1 temp2 | cut -c 1-5`                              
                                                                                
        if [ $file = "temp1" ]                                                  
            echo "User "$user" has logged out."                                 
                                                                                
                                                                                
        if [ $file = "temp2" ]                                                  
            echo "User "$user" has logged in."                                  
        ;;                                                                      
                                                                                
    esac                                                                        
                                                                                
    rm temp1                                                                    
    mv temp2 temp1                                                              
                                                                                
done
I get this error:

The current users are:
gayathri
root
./audit5.ss[9]: 0403-057 Syntax error at line 30 : `;' is not expected.


Can anyone tell me what mistake is there please. Any help is appreciated.

Last edited by tayyabq8; 10-13-2008 at 02:17 AM.. Reason: Added code tags
  #2 (permalink)  
Old 10-12-2008
Lakris Lakris is offline
Registered User
  
 

Join Date: Oct 2007
Posts: 246
Hi,
Check the syntax for the if-statement,

if test ; then command;fi

That may cause the syntax error.

/Lakris
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 05:11 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0