02-09-2015
The script that you provided reads a line of data provided by a user into a shell variable named a. It then uses awk to see if the 5th character in the 1st string of non-blank characters is a "5" (presumably the 1st digit in a two digit month is a "5"), and if it is it gets the 6th character from that string, adds 1 to it, and throws it away; otherwise, it prints the string "wrong". In either case, your script then gets a syntax error from the Korn shell because you have an if statement with no matching then nor fi.
Is this a homework assignment?
If it isn't, can you explain (in English) what needs to be done to a string in the format YYYYMMDD to add 9 days to it and end up with a valid date in the same format. If you can't explain what your script needs to do to update your user's input string, you would be much better off using the tools on your system that are designed to perform date arithmetic instead of reinventing the wheel. Even if you can explain the steps required, please explain why you want to reinvent the wheel rather than use system tools that have been written to correctly handle these types of calculations in normal years, in leap years, and (in some cases) even across the conversion from Julian to Gregorian calendars.
And, please tell us what operating system you're using. An operation like this can be performed with a 1988 vintage Korn shell, but some things would be easier with a 1993 or later version of the Korn shell. What version of the Korn shell is installed as /bin/ksh varies from system to system.
This User Gave Thanks to Don Cragun For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I'm new to unix scripting.How can i call a script from another script.
I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted.
I tried using
#!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh
My problem is it is executing only a.ksh.it... (6 Replies)
Discussion started by: ammu
6 Replies
2. Shell Programming and Scripting
I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below......
vi hairy
bear=`grep bear animals`
if
then
ksh more_animals
fi
If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
Discussion started by: shorty
1 Replies
3. Shell Programming and Scripting
Ih all,
i have multiples ksh scripts for crontab's unix jobs
they all have same variables declarations and some similar functions
i would have a only single script file to declare my variables, like:
var1= "aaa"
var2= "bbb"
var3= "ccc"
...
function ab { ...}
function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies
4. Shell Programming and Scripting
Hi,
I need some help with the Ksh scripting....
I have a Script call Mail.ksh which calls Crank.ksh which calls Readdates.ksh whoch calls mindiff.ksh
the output of mindiff.ksh and Readdates.ksh are wirtten to a text file...
Here is how each file is called or executed...
./Mail.ksh 30... (3 Replies)
Discussion started by: bhagya2340
3 Replies
5. Shell Programming and Scripting
1. Script using bash
#!/bin/bash
a=4294967296
(( b=$a / 2 ))
echo "$a"
echo "$b"
*** output ***
4294967296
2147483648
2. Script using ksh
#!/bin/ksh
a=4294967296
(( b=$a / 2 ))
echo "$a"
echo "$b"
*** output ***
4294967296 (3 Replies)
Discussion started by: gautam.shrestha
3 Replies
6. Shell Programming and Scripting
Hi
I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email.
For example
-------
Script ABC
-------
a.ksh
b.ksh
c.ksh
I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies
7. UNIX for Dummies Questions & Answers
Hi ,
What is the diffence between executing the script like
./myscript.ksh
. ./myscript.ksh
I have found 2 difference but could not find the reason
1. If i export a variable in myscript.ksh and execute it like . ./myscript.ksh the i can access the other scripts that are present in... (5 Replies)
Discussion started by: max_hammer
5 Replies
8. Shell Programming and Scripting
I'm getting different behaviour when executing below script in debug option.
$ cat ss.ksh
ff=$(pwd)
echo " ff : $ff"
$ ksh ss.ksh
ff : /tmp
$ ksh -x ss.ksh
+ + pwd
ff=
+ echo ff :
ff :
I was getting this behaviour in my actuall script i'm able to reproduce this in simple script... (4 Replies)
Discussion started by: luckybalaji
4 Replies
9. Shell Programming and Scripting
Hi,
I have command like this with ooutput :
unix>tnsping abc
TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 17-AUG-2011 17:06:11
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
/opt/oracle/network/admin/sqlnet.ora
... (19 Replies)
Discussion started by: talashil
19 Replies
10. Shell Programming and Scripting
I have the following file:
one two three four
man women
yes no place togo
bad sleep
I need to move all lines that have only two words(columns) in a separate file and the rest in a separate file...
I used :
for $linecont in $(cat $filename); do
echo $linecont > temp
line1='cat... (7 Replies)
Discussion started by: daimne
7 Replies
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)