Compare the two variable with if condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Compare the two variable with if condition
# 1  
Old 06-27-2012
Compare the two variable with if condition

Please help me with this:

I need to compare two values in if condition in shell script but its goes always to else condition:
Code:
TIME_CHECK=PM
TIME-CLOCK=PM

if [ $TIME_CHECK -eq $TIME-CLOCK ]; then
        echo "You have access!"
else
        echo "ACCESS DENIED!"
fi


Last edited by Franklin52; 06-28-2012 at 04:50 AM.. Reason: Please use code tags for data and code samples
# 2  
Old 06-27-2012
Try this:
Code:
TIME_CHECK="PM"
TIME-CLOCK="PM"

if [ $TIME_CHECK = $TIME-CLOCK ]; then
        echo "You have access!"
else
        echo "ACCESS DENIED!"
fi

or this:
Code:
TIME_CHECK=PM
TIME-CLOCK=PM

if [ $TIME_CHECK = $TIME-CLOCK ]; then
        echo "You have access!"
else
        echo "ACCESS DENIED!"
fi

# 3  
Old 06-27-2012
This is what i am doing:

Code:
TIME_DATE_SPLIT=`date +%Y-%m-%d-%p`

TIME_CHECK="`(echo $TIME_DATE_SPLIT | cut -d "-" -f 4)`"

TIME_CLOCK="AM"

if [ $TIME_CHECK -eq $TIME_CLOCK ]; then
    echo "You have access!"
else
    echo "ACCESS DENIED!"
fi


This always goes in else condition if AM or PM and gives the error "[: AM: integer expression expected"

Please help

Last edited by Franklin52; 06-28-2012 at 04:50 AM.. Reason: Please use code tags for data and code samples
# 4  
Old 06-27-2012
See what you are doing is storing the results of TIME_DATE_SPLIT and TIME_CHECK as strings. The "-eq" expression only works with integers so replace that with "=" and it should work.
# 5  
Old 06-28-2012
You can get the AM/PM directly from the date command.
Code:
TIME_CHECK="`date +%p`" # AM or PM

TIME_CLOCK="AM"

if [ "${TIME_CHECK}" = "${TIME_CLOCK}" ]; then
    echo "You have access!"
else
    echo "ACCESS DENIED!"
fi

# 6  
Old 06-28-2012
Code:
TIME_DATE_SPLIT=`date +%Y-%m-%d-%p`

TIME_CHECK="`(echo $TIME_DATE_SPLIT | cut -d "-" -f 4)`"

#######FUNCTION START########
PREVIOUS_DATE_FUNCTION()
{

date '+%m %d %Y' | 
{ 
read MONTH DAY YEAR
DAY=`expr "$DAY" - 1` 
case "$DAY" in 
        0) 
           MONTH=`expr "$MONTH" - 1` 
                case "$MONTH" in 
                        0) 
                           MONTH=12 
                           YEAR=`expr "$YEAR" - 1` 
                        ;; 
                esac 
        DAY=`cal $MONTH $YEAR | grep . | fmt -1 | tail -1` 
esac 
    PREVIOUS_TEMP_DATE=$YEAR-$MONTH-$DAY
    echo $PREVIOUS_TEMP_DATE
}

}
#######FUNCTION END########
TIME_CLOCK="AM"

if [ $TIME_CHECK = $TIME_CLOCK ]; then
    
PREVIOUSDATE="`PREVIOUS_DATE_FUNCTION`"   #FUNCTION CALL#
   
tempfile=CANCEL_FILE_$PREVIOUSDATE_AM

Problem here is that $PREVIOUSDATE value is null.I am not getting the tempfile=CANCEL_FILE_27-06-2012_AM
I am getting
Code:
tempfile=CANCEL_FILE__AM


Last edited by Franklin52; 06-29-2012 at 04:08 AM.. Reason: Please use code tags for data and code samples
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Compare two files with awk and condition

I am preparing a script to check the configuration of the db2 against the standard configuration. I am fetching the output in file A and want to compare it with the standard output written in file B. File A Diagnostic error capture level (DIAGLEVEL) = 3 Audit buffer size (4KB) (AUDIT_BUF_SZ)... (2 Replies)
Discussion started by: bashb
2 Replies

2. UNIX for Beginners Questions & Answers

Compare between two files with condition

Hello there. I am trying to compare two files. File1 Austria Mobile 1 United Kingdom Mobile 1 ... File2 Austria Mobile Vien 2 Austria Mobile Ostr 0 United Kingdom Mobile Dev 0.7 United Kingdom Mobile OST 1.5 What i want to do is to compare both files and... (12 Replies)
Discussion started by: dragonfly85
12 Replies

3. Shell Programming and Scripting

IF condition to compare file prefix

I have files with naming as below, testS123, testS223, testB1, testC1, testD1 I need to write a if condition to print 'Hello' when the file prefix is not testS* else 'Good bye'. if then echo "Hello" else echo "Good bye" fi; (1 Reply)
Discussion started by: r@v!7*7@
1 Replies

4. UNIX for Dummies Questions & Answers

Variable in IF condition

In AIX, why is it variable VAR becomes true in the condition despite VAR was unassigned and not equal to 1? In Linux, it was traced as an error as VAR is not declared as variable and expecting an integer as argument. one.sh VAR=1 if ; then echo "One" fi if ; then echo "Two"... (5 Replies)
Discussion started by: budz26
5 Replies

5. Shell Programming and Scripting

compare 2 files and return unique lines in each file (based on condition)

hi my problem is little complicated one. i have 2 files which appear like this file 1 abbsss:aa:22:34:as akl abc 1234 mkilll:as:ss:23:qs asc abc 0987 mlopii:cd:wq:24:as asd abc 7866 file2 lkoaa:as:24:32:sa alk abc 3245 lkmo:as:34:43:qs qsa abc 0987 kloia:ds:45:56:sa acq abc 7805 i... (5 Replies)
Discussion started by: anurupa777
5 Replies

6. Shell Programming and Scripting

How to compare 2 file with Condition.

Hello, I need to run a command or shell script that will compare 2 file with Condition. Can you please help ? thank you. File 1. ############start@linda22 ... ################## aaaaaaa bbbbbbb cccccc dddddd eeeee 11111 ############start@linda23 ... ################## aaaaaaa... (2 Replies)
Discussion started by: ooilinlove
2 Replies

7. Shell Programming and Scripting

compare 2 files and extract the data which is not present in other file with condition

I have 2 files whose data's are as follows : fileA 00 lieferungen 00 attractiop 01 done 02 forness 03 rasp 04 alwaysisng 04 funny 05 done1 fileB alwayssng dkhf fdgdfg dfgdg sdjkgkdfjg funny rasp (7 Replies)
Discussion started by: rajniman
7 Replies

8. Shell Programming and Scripting

Compare columns of 2 files based on condition defined in a different file

I have a control file which tells me which are the fields in the files I need to compare and based on the values I need to print the exact value if key =Y and output is Y , or if output is Y/N then I need to print only Y if it matches or N if it does not match and if output =N , then skip the feild... (7 Replies)
Discussion started by: newtoawk
7 Replies

9. UNIX for Dummies Questions & Answers

How to compare null and space using single if condition

Hi I have a input file with many fields and each filed will be with in double quotes(""). i want to check fields contains balnk,null or space using condition using if. when i write code as below for if condition its not working a=`awk -F ',' '{gsub("\"", "", $1);'NF==0';printf $1}'... (3 Replies)
Discussion started by: jayakumarrt
3 Replies
Login or Register to Ask a Question