Error while executing the below script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Error while executing the below script
# 1  
Old 11-09-2009
Error while executing the below script

I am executing the below in telnet

Code:
#!/usr/bin/ksh
File1=simple.txt    # The file to check
LogFile=simple.log # The log file
DelayMax=30 # Timeout delay
Tolerance=2
# BEGIN ##############################
while true
do
    StampNow=$(date +%s)/60    # stamp in minutes
    StampFile=$(date -r "$File1" +%s)/60
    let Delay=$StampNow-$StampFile
    if [ $Delay -gt $DelayMax ]
    then
        echo "TIME STARTED = $(date +%Y-%m-%d_%H:%M:%S)" > $LogFile
	echo "TIME ENDED = $(date +%Y-%m-%d_%H:%M:%S)"  >> $LogFile
        # etc.
        exit 1
    elif [ $StampFile -eq $StampOld ]
    then
        sleep $Tolerance minutes # Retry a bit later
    else
        StampOld=$StampFile
        let NewDelay=$StampNow-$StampFile+15+$Tolerance # To synchronize with the updating
        sleep $NewDelay minutes
    fi
done


Below is the log


Code:
date: bad format character - s
date: illegal option -- r
Usage: date [-u] [+format]
       date [-u] [mmddhhmm[[cc]yy]]
       date [-a [-]sss.fff]
sam.ksh[11]: Delay=/60-/60: syntax error
sam.ksh[18]: /60: syntax error
sam.ksh[23]: NewDelay=/60-/60+15+2: syntax error
usage: sleep time


Please help i am a newbie in shell script

Last edited by Franklin52; 11-09-2009 at 11:43 AM.. Reason: Please use code tags!!
# 2  
Old 11-09-2009
The format %s and option -r are only available with GNU version of date.

Jean-Pierre.
# 3  
Old 11-09-2009
Could you please tell me the extact parameters that i need to chnge inorder to work

I am really newbie in shell scripting
# 4  
Old 11-09-2009
You see those places where you're using %s and -r with date? As already said, you can't do that without GNU date. That's what you need to fix -- or rather, replace, since it's not broken as much as using programs you don't have.

The lack of good date manipulation in shell scripting's always bothered me, particularly since the GNU options are so obvious you'd think they'd be everywhere. But there's a few tricks. For instance the stat command can print out statistics on a file, including mtime in epoch seconds.

To get the current epoch time of a file in seconds, you can do:

Code:
EPOCH=`stat -c '%Y' "${FILE}"`

To get the current epoch time, you could use the above on a newly created file:

Code:
FILE=`mktemp`
EPOCH=`stat -c '%Y' ${FILE}`
rm "${FILE}"


Last edited by Corona688; 11-09-2009 at 05:10 PM.. Reason: added missing backtick
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

Error when executing script

Hi, I wrote this script to test if the output for DIR1 and DIR2 comes out as I want : #!/bin/bash DAY=$(date +%d) MONTH=$(date +%b) YEAR=$(date +%Y) DIR1=$($MONTH$YEAR"_Blast_BC01") DIR2=$($MONTH$YEAR"_Blast_BC15") echo $DIR1 echo $DIR2 This is the output I want for echo $DIR1 ... (12 Replies)
Discussion started by: anaigini45
12 Replies

2. Shell Programming and Scripting

Gettting error while executing script

getting error as below while executing script in linux. OS version: Linux VGP-3GPSDB-LX 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux ./imxtract.sh: line 395: unexpected EOF while looking for matching ``' ./imxtract.sh: line 402: syntax error:... (1 Reply)
Discussion started by: Riverstone
1 Replies

3. UNIX for Dummies Questions & Answers

Error executing the script

I have the following script test.sh owned by dwdev account and group dwdev, the permissions on the script are as follows. -rw-r-x--- 1 dwdev dwdev 279 Sep 17 13:19 test.sh Groups: cat /etc/group | grep dwdev dwdev:x:704:dwdev dwgroup:x:725:dwdev writers:x:726:dwdev User: cat /etc/passwd |... (3 Replies)
Discussion started by: Ariean
3 Replies

4. Linux

Libssh2 error while executing script

hi all, i am getting libssh2 error while executing script in RHEL 6, when i locate that file its not there below is the ouput of this # locate libssh2_agent_init # cat /etc/issue Red Hat Enterprise Linux Server release 6.1 (Santiago) Kernel \r on an \m how do i resolve this issue, i... (1 Reply)
Discussion started by: muzaffar.k
1 Replies

5. Shell Programming and Scripting

Error executing script

Please delete de thread. Thanks. (10 Replies)
Discussion started by: Rodrih92
10 Replies

6. Shell Programming and Scripting

getting the error 'not found' while executing the script

Hi, I am not able to figure out what the problem is: getting the following error sqltst.sh: 1: not found here is the script #!/bin/sh . /home/dev1/.profile . /home/dev1/.infenv `sqlplus -s $REPDB_LOGON << EOF SET SERVEROUT ON SET FEEDBACK OFF SET HEADING OFF SET TRIMSPOOL... (4 Replies)
Discussion started by: svajhala
4 Replies

7. Shell Programming and Scripting

Error while executing a script

Hi Please assist. Im getting an error while execuing the script name d "cdsnd.basel.cd_new " as siiadm user. Thanks. siiadm> ls -l total 64 -rwxr-xr-x 1 siiadm sboadm 1004 Sep 17 2008 cdsnd.basel.cd -rwxr-xr-x 1 siiadm sapsys 998 Nov 16 09:14 cdsnd.basel.cd_new... (1 Reply)
Discussion started by: samsungsamsung
1 Replies

8. UNIX for Dummies Questions & Answers

Error Executing the script.

Hi , I m getting an error after executing the script. My script. Script is used to find out the date on 8 different machines(mentioned in SERVERNAMES file). I have added public key to avoid ssh password and ssh without password working fine. #!/bin/sh fn_VMFind() { Date=`ssh -t... (5 Replies)
Discussion started by: pinga123
5 Replies

9. Shell Programming and Scripting

Error while executing a script

My script is as below : #!/bin/sh for line in `cat Results.txt` do FEILD1=`echo $line |awk -F"|" '{print $1}'` FEILD2=`echo $line |awk -F"|" '{print $2}'` FEILD3=`echo $line |awk -F"|" '{print $3}'` FEILD4=`echo $line |awk -F"|" '{print $4}'` echo "$FEILD1 $FIELD2 $FIELD3 $FIELD4" done ... (15 Replies)
Discussion started by: shwetainnani
15 Replies

10. Shell Programming and Scripting

error while executing the script

Hello I am executing the following script nawk 'NR == 1 || substr($0,63,5) ~ /H... / && \ _++ == 2 { fn && close(fn); fn = "part_" ++c; _ = 1 } { print > fn }' sample.dat When i execute as it is it is executing fine. but when i execute the whole script as a single line like below ... (2 Replies)
Discussion started by: dsdev_123
2 Replies
Login or Register to Ask a Question