08-15-2008
While case...esac is fine, if you have your heart set on using 'expr' you can use expr this way:
expr $parameter : ".*$search" >/dev/null && echo Found!!!
In this form, expr returns the # of characters matched from the beginning of $parameter. That's why I had to put a ".*" in the beginning of the search string. Also, expr writes the number of characters matched to stdout (so I directed to /dev/null). Of course, you can just use this value in a test like this:
if [ expr $parameter : ".*$search" -gt 0 ]
then
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello All,
I have a script that will email out if the email address is specified as parameter 1.
I am using ksh, and then tried the following :
email=$1
Following did not work, I am getting error
test -z $email
test ${email:=" ") -eq " "
test -n $email
test ${?email}
What... (4 Replies)
Discussion started by: negixx
4 Replies
2. Shell Programming and Scripting
I am making a script to check the parameters, but it seems that I can't catch the parameters by loop.
$ cat sendmsg.sh
#!/bin/sh
## Parameter Check
i=0
max=$#
while
do
PARAM=$${i}
i=`expr ${i} + 1`
echo ${PARAM}
done
How can I get the $1, $2, $3 by loop and set their... (2 Replies)
Discussion started by: GCTEII
2 Replies
3. Shell Programming and Scripting
I need to pass a parameter to a function in a script. My parameter is a string. When I display the parameter within my function, I only get the first word from string I pass in.
How can I make the function receive the whole string (and not terminate at the first space it encounters)?.
part of... (1 Reply)
Discussion started by: fastgoon
1 Replies
4. AIX
I have a "find {start} -ls" command listing all files and dirs in on the whole filesystem.
As part of this it lists locations that contain temporary files and, sometimes when executing, it identifies a file but produces an ERROR when trying to list it.
ERROR thrown: find: bad status--... (2 Replies)
Discussion started by: apiggott
2 Replies
5. Shell Programming and Scripting
Hi,
I have a parameter which is a string:
set parameter = "string"
I would like to compare it to various strings inside an IF conditional:
if ($parameter == "string") then
bla bla bla
endif
but it doesn't work, and I have no idea why.
Thanks in advance,
Shira. :) (12 Replies)
Discussion started by: shira
12 Replies
6. UNIX for Advanced & Expert Users
Hi all,
I have four (4) different UNIX flavours and I want to know whether the following commands are correct with respect to wanting to check on what are my current kernel parameter settings.
I just want to clear the doubts hanging over my head whether the commands below are the right ones... (2 Replies)
Discussion started by: newbie_01
2 Replies
7. Shell Programming and Scripting
Hi all
i need to check that if user has passed any input parameter while executing he shell script like
./test1.sh -a"-v"
then do smothing
if user execute the script without giving input paramater then
./test1.sh
then do something
how can we check this input parameter (6 Replies)
Discussion started by: aishsimplesweet
6 Replies
8. Shell Programming and Scripting
Hey I'm new in linux,
I'm looking for a code to check whether the parameter is a number or a string.
I have already tried this code:
eerste=$(echo $1 | grep "^*$">aux)
if
But it doesn't work.:confused:
Thanks (2 Replies)
Discussion started by: Eclecticaa
2 Replies
9. Shell Programming and Scripting
I have a code which is using to find duplicates in a files based on column.Below is the same code which is used to find duplicates in my file based on column 1
awk -F'|' '{if (x) { x_count++; print $0; if (x_count == 1) { print x } } x = $0}' FileName >Dup_File.txt
But my requirement here is... (3 Replies)
Discussion started by: ginrkf
3 Replies
EXPR(1) General Commands Manual EXPR(1)
NAME
expr - evaluate arguments as an expression
SYNOPSIS
expr arg ...
DESCRIPTION
The arguments are taken as an expression. After evaluation, the result is written on the standard output. Each token of the expression is
a separate argument.
The operators and keywords are listed below. The list is in order of increasing precedence, with equal precedence operators grouped.
expr | expr
yields the first expr if it is neither null nor `0', otherwise yields the second expr.
expr & expr
yields the first expr if neither expr is null or `0', otherwise yields `0'.
expr relop expr
where relop is one of < <= = != >= >, yields `1' if the indicated comparison is true, `0' if false. The comparison is numeric if
both expr are integers, otherwise lexicographic.
expr + expr
expr - expr
addition or subtraction of the arguments.
expr * expr
expr / expr
expr % expr
multiplication, division, or remainder of the arguments.
expr : expr
The matching operator compares the string first argument with the regular expression second argument; regular expression syntax is
the same as that of ed(1). The (...) pattern symbols can be used to select a portion of the first argument. Otherwise, the
matching operator yields the number of characters matched (`0' on failure).
( expr )
parentheses for grouping.
Examples:
To add 1 to the Shell variable a:
a=`expr $a + 1`
To find the filename part (least significant part) of the pathname stored in variable a, which may or may not contain `/':
expr $a : '.*/(.*)' '|' $a
Note the quoted Shell metacharacters.
SEE ALSO
ed(1), sh(1), test(1)
DIAGNOSTICS
Expr returns the following exit codes:
0 if the expression is neither null nor `0',
1 if the expression is null or `0',
2 for invalid expressions.
EXPR(1)