01-17-2003
What shell are you using and what OS (and version)?
I tried the following on both ksh and sh on Solaris 8 - had no problem (unless I added the /- that you show - but I never got the error you have). Are you sure this is the expr command that is giving you the error? Is this a script? Can you post it?
$ cat ly
#!/bin/sh
cur_month=`date +%m`
cur_year=`date +%y`
last_year=`expr $cur_year - 1`
echo $last_year
I would also suggest you use the whole year since cur_year comes back with 03 and the subtraction gives you 2, not 02. You may mess yourself up if expecting something different.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am looking for the correct syntax on the expr command in UNIX. I have a script that I am building at the moment. the script is creating file1 that is an actual .sql file that is going inside the oracle database to get some information in there. It take that information, puts it inside another... (2 Replies)
Discussion started by: wolf
2 Replies
2. UNIX for Dummies Questions & Answers
I'm writing a unix script that simply does some basic command line stuff for a whole lot of similar directories (ls *.dat > foo.bar). Its my first script ever, and its going ok, except I can't, for the life of me, figure out how to get arithmetic to work in the script.
FIVE=5
MY_NUMBER='expr... (4 Replies)
Discussion started by: benu302000
4 Replies
3. UNIX for Dummies Questions & Answers
hi guys....
i hava a command expr... where i m adding a value in a loop
like
Tc=`expr $Tc\+ $l`
where
Tc is declred as a variable and every time l contains a new vaue
if
Tc =0 initially
and l =2
Tc should be equal to 0+ 2
and then
l = 4
Tc = 2+4
and dispaly as 6
but after... (5 Replies)
Discussion started by: madhu_aqua14
5 Replies
4. UNIX for Dummies Questions & Answers
:)
hi Unix gurus,
Pls consider the following piece of code
str='hello'
length=echo $str|wc -c
echo $length
y= ` expr \( 80 - $length \) `
echo $y
:confused:
The last echo stmt is displaying 0 as the result.
If i put direct value like 6 instead of $length in i 3rd stmt it is giving... (8 Replies)
Discussion started by: ravi raj kumar
8 Replies
5. UNIX for Dummies Questions & Answers
Hi friends
how can i execute expr $va1 * $var2
provided i m not supposed to use '/' also the
nglob variable is turned off. (4 Replies)
Discussion started by: ashishj
4 Replies
6. Shell Programming and Scripting
Hello, I am new to the Bash scripting language, and was given a tutorial page on how to setup a file. However I am trying to use cygwin to run this file and it is not working.
$ vi averagetime.sh
#
#
#
echo "Enter Dictorinary File Text "
read dict
echo "Enter Grid Name"
read grid... (13 Replies)
Discussion started by: killerqb
13 Replies
7. Shell Programming and Scripting
Hi
Can anyone explain me the usage of this command and the arguments used here and what will be the expected output :
v_num=`expr nav_d_20100204_1759 : '*\(*\)'`
what will be the value returned in v_num.
Thanks in Advance!!!
Regards
Naveen Purbia (3 Replies)
Discussion started by: trying_myluck
3 Replies
8. Shell Programming and Scripting
Hi,
I am trying to code a unix function to calculate date difference between two date variables. I am stuck at a point where I am trying to convert hours into minutes. Below is the code I am doing.
function get_elapsed_time
{
export PROPS_FILE=temp.properties
export... (8 Replies)
Discussion started by: Nutan
8 Replies
9. UNIX for Dummies Questions & Answers
Hi guys,
For some reason the terminal on my mac does not let me run string manipulations commands using the expr command. I'm not sure how to fix this so I'm requesting a "work-around" to using the expr command...
This is the string I'm working with:
"neo_opls01_1.log"
And I'm trying to... (9 Replies)
Discussion started by: ah7391
9 Replies
10. Shell Programming and Scripting
I'm trying to check if a variable'd string is only one character and use that in an if statement the only way I could find is:
$expr "${var}" : . # expr STRING : regrep
where the "." is the grep wildcard for any single character.
Whats wrong with my code here and is there a... (3 Replies)
Discussion started by: Tewg
3 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)