Sponsored Content
Top Forums Shell Programming and Scripting need help with test condition in shell script Post 302088013 by Andrek on Friday 8th of September 2006 03:49:29 AM
Old 09-08-2006
This should work even if the clock ticks past midnight.....

timenow=20060907150000 # Your unix time
timeweb=20060907160000 # The time you got from the web
timediff=020000 # your 2 hour difference
if [ $timeweb -le `expr $timenow + $ timediff` ] | [ $timeweb -ge `expr $timenow - $timediff` ]
then
echo "Its a GOOD time :-)"
else
echo "Its a BAD time!"
fi

Not fully tested as you are adding and subtracting number with 14 digits, that could be a little big for UNIX, UNIX should roll it over.

You need to test it over a period to ensure it works for you.

The other method is to use "subtr" and exctract only the HHMMSS. The only issue with that is you will need to be aware of the clock changing days at midnight.

eg expr substr 20060907235900 9 6 gives 235900 while
expr substr 20060908000000 9 6 gives 000000

Haveagoodweekend
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

test and if condition

Guys look at this: i have to write a script that takes a file as an argument. The script should be able to determine what permissions the owner, group and everybody has for the file passed in. The output should be displayed similar to this. READ WRITE EXECUTE OWNER LEE.BALLANCORE YES YES NO... (9 Replies)
Discussion started by: ciroredz
9 Replies

2. UNIX for Dummies Questions & Answers

Condition test

Hi there, When I try to do a condition on test: $ str1=abcd $ test $str1 $ echo $? 0 Is there anyway to display the answer to be 'TRUE' or 'YES'? rather than 0? If so, how can I do it without using awk or sed. (2 Replies)
Discussion started by: felixwhoals
2 Replies

3. Shell Programming and Scripting

Test condition

Hello, what is the better and correct way to perform a comparison: I have been using the following with no problems: if ] then .... fi I have seen this also used : if then .... fi When I try : if then .... fi I get an error like .... the test condition expects a... (4 Replies)
Discussion started by: gio001
4 Replies

4. Shell Programming and Scripting

test condition

Hi there, I tried to search for this almost everywhere, but didnt get any proper information on it. What is the difference between ] Some of the code works when I have only single condition i.e. ] && $dothis1 || $dothis2 But if i try to include another testcondition to the... (1 Reply)
Discussion started by: tostay2003
1 Replies

5. Shell Programming and Scripting

Help with shell script to check the condition.

:) Hi, I want to script for this scenerio, OSR Settings Scenario : We are looking to find all the *.a files from the following locations in the filesystem of a server. OSR Directories /etc /bin /usr/bin /usr/sbin /var/adm These *.a files should have the permissions on... (12 Replies)
Discussion started by: sakthilinux
12 Replies

6. AIX

if condition in AIX5.3-10 shell script

True if file exists and has been modified since it was last read. if then command else exit fi i am on AIX5.3-10. it does not understand -N any other way. i can use -ot (file1 is older than file2), but prefer -N if possible. (3 Replies)
Discussion started by: tjmannonline
3 Replies

7. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

8. Shell Programming and Scripting

IF condition against a ARRAY in shell script

Hi, I want to check a particular string inserted by User to be checked against the values i already have in a ARRAY string using IF condition. Is this possible? if yes how to do that. example : i have a,b,c,d,e,f values in a array called values i asked user to enter a value: user entered... (2 Replies)
Discussion started by: kukretiabhi13
2 Replies

9. Shell Programming and Scripting

Shell script that check the argument passed to it and prints error if test condition is not met

I want to make a script that check for the argument passed to it and generates an error in case any character/string argument passed to it. I am using below code, but its not working. can anyone help. #!/bin/bash if ]; then echo 'An integer argument is passed to the script hence... (3 Replies)
Discussion started by: mukulverma2408
3 Replies

10. UNIX for Dummies Questions & Answers

While condition in shell script

while do if ;then read driverName else driverName="" fi done can anyone please explain what exactly is happening on 1st line...is it like the conditions being ORed...I have no clue about this. (4 Replies)
Discussion started by: rtagarra
4 Replies
test(1sh5)																test(1sh5)

Name
       test - condition evaluation command

Syntax
       test expr
       [ expr ]

Description
       The  command  evaluates the expression expr.  If the value of expr is true, the command returns a zero exit status; otherwise, it returns a
       nonzero exit status.  The command also returns a nonzero exit status if no arguments are specified.  The following primitives are  used	to
       construct expr:

       -r file	      True if file exists and is readable.

       -w file	      True if file exists and is writable.

       -x file	      True if file exists and is executable.

       -f file	      True if file exists and is a regular file.

       -d file	      True if file exists and is a directory.

       -c file	      True if file exists and is a character special file.

       -b file	      True if file exists and is a block special file.

       -p file	      True if file exists and is a named pipe (fifo).

       -u file	      True if file exists and its set-user-ID bit is set.

       -g file	      True if file exists and its set-group-ID bit is set.

       -k file	      True if file exists and its sticky bit is set.

       -s file	      True if file exists and has a size greater than zero.

       -t [ fildes ]  True if the open file whose file descriptor number is fildes (1 by default) is associated with a terminal device.

       -z s1	      True if the length of string s1 is zero.

       -n s1	      True if the length of the string s1 is non-zero.

       s1 = s2	      True if strings s1 and s2 are identical.

       s1 != s2       True if strings s1 and s2 are not identical.

       s1	      True if s1 is not the null string.

       n1 -eq n2      True  if	the integers n1 and n2 are algebraically equal.  Any of the comparisons -ne, -gt, -ge, -lt, and -le may be used in
		      place of -eq.

       These primitives can be combined with the following operators:

       !	      unary negation operator.

       -a	      binary and operator.

       -o	      binary or operator (-a has higher precedence than -o).

       ( expr )       parentheses for grouping.

       Note that all the operators and flags are separate arguments to the command.  Note also that parentheses are meaningful to  the	Shell  and
       must  be  escaped.   In the form of the command that uses square brackets ([]), instead of the word test, the brackets must be delimited by
       blanks.

See Also
       find(1), sh5(1), test(1)

																	test(1sh5)
All times are GMT -4. The time now is 06:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy