Sponsored Content
Top Forums Shell Programming and Scripting Check if parameter passes in contains certain string Post 302225400 by consult4life on Friday 15th of August 2008 09:54:47 AM
Old 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

How to check parameter variable?

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

Help with making a parameter check script.

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

Passing a string parameter to a function

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

find {start} -ls - Two Passes?

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

How to compare a parameter to a string

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

How to check what are the current kernel parameter settings

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

Check input parameter

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

Check parameter is number or string

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

Duplicate check by passing external parameter

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
arguments DESCRIPTION
takes arguments as an expression, evaluates, then writes the result on the standard output. Terms in the expression must be separated by blanks. Characters special to the shell must be escaped. Note that rather than the null string, is returned to indicate a zero value. Strings containing blanks or other special characters should be quoted. Integer-valued arguments can be preceded by a unary minus sign. Internally, integers are treated as 32-bit, 2's complement numbers. The operators and keywords are listed below. Characters that need to be escaped are preceded by The list is in order of increasing prece- dence with equal-precedence operators grouped within symbols. Returns the first expr if it is neither null nor otherwise returns the second expr. In the UNIX 2003 environment, returns 0 if the first expr is null or and the second expr is null. Returns the first expr if neither expr is null or otherwise returns If both arguments are integers, and if the comparison is satisfied, expr returns otherwise it returns expr returns the result of an integer comparison if both arguments are integers; other- wise returns the result of a lexical comparison (note that and are identical, in that both test for equality). Addition or subtraction of decimal integer-valued arguments. Multiplication, division or remainder of decimal integer-valued arguments producing an integer result. The matching operator compares the first argument with the second argument which must be a regular expression. expr supports the Basic Regular Expression syntax (see regexp(5)), except that all patterns are ``anchored'' (i.e., begin with and, therefore, is not a special character, in that context. Normally, the matching operator returns the number of characters matched (0 on fail- ure). Alternatively, the pattern symbols can be used to return a portion of the first argument. The length of expr. Takes the substring of the first expr, starting at the character specified by the second expr for the length given by the third expr. Returns the position in the first expr which contains a character found in the second expr. Match is a prefix operator equivalent to the infix operator Grouping symbols. Any expression can be placed within parentheses. Parentheses can be nested to a depth of as specified in the header file EXTERNAL INFLUENCES
Environment Variables determines the collating sequence used in evaluating regular expressions and the behavior of the relational operators when comparing string values. determines the interpretation of text as single- and/or multi-byte characters, and the characters matched by character class expressions in regular expressions. determines the language in which messages are displayed. If or is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty variable. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C" (see environ(5)). If is set to it enables the UNIX 2003 Standard environment. International Code Set Support Single- and multi-byte character code sets are supported. RETURN VALUE
As a side effect of expression evaluation, expr returns the following exit values: Expression is neither null nor zero. Expression is null or zero. Invalid expression. An error occurred while evaluating the expression. DIAGNOSTICS
Operator or operand errors Arithmetic attempted on a string EXAMPLES
Add 1 to the shell variable For equal to either or just return the last segment of a path name (i.e., Beware of alone as an argument because expr interprets it as the division operator (see below): A better representation of the previous example. The addition of the characters eliminates any ambiguity about the division operator and simplifies the whole expression: Return the number of characters in WARNINGS
After argument processing by the shell, expr cannot tell the difference between an operator and an operand except by the value. If is an the command: resembles: as the arguments are passed to expr (and they will all be taken as the operator). The following works: AUTHOR
was developed by OSF and HP. SEE ALSO
sh(1), test(1), environ(5), lang(5), regexp(5). STANDARDS CONFORMANCE
expr(1)
All times are GMT -4. The time now is 05:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy