Sponsored Content
Top Forums Shell Programming and Scripting Test command non case specific string comparision Post 302881649 by Don Cragun on Monday 30th of December 2013 05:33:31 PM
Old 12-30-2013
Yes. According to the standards, test's = operator compares strings; not filename matching patterns and not regular expressions. The test utilities in some shells support operators and expressions in addition to those specified by the standards, but they aren't portable.

The [[ expression ]] forms aren't in the standards yet, but are being considered for inclusion in the next revision of the POSIX standards and the Single UNIX Specification.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies

2. Shell Programming and Scripting

case insenserive comparision

in If statement how can i campare "ASCII" with "ascii" the result of comparision shold be true..... (2 Replies)
Discussion started by: mahabunta
2 Replies

3. Shell Programming and Scripting

awk command to test if a string is a file

What awk command will test a string to determine if it is a valid file name? With the following awk statement I isolate the lines from the inputfile that might contain a filename, then I attempt to test the possible filename which is always in $4 from each line. However it is not working at all... (4 Replies)
Discussion started by: Arsenalman
4 Replies

4. Shell Programming and Scripting

Test on string containing spacewhile test 1 -eq 1 do read a $a if test $a = quitC then break fi d

This is the code: while test 1 -eq 1 do read a $a if test $a = stop then break fi done I read a command on every loop an execute it. I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test. For example echo hello. Now the... (1 Reply)
Discussion started by: Max89
1 Replies

5. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

6. Shell Programming and Scripting

String comparision

I have a string like ab or abc of whatever length. But i want to know whether another string ( for example, abcfghijkl, OR a<space> bcfghijkl ab<space> cfghijkl OR a<space>bcfghijkl OR ab<space> c<space> fghijkl ) starts with ab or abc... space might existing on the longer string... If so, i... (1 Reply)
Discussion started by: nram_krishna@ya
1 Replies

7. Shell Programming and Scripting

String Comparision

I want to compare two strings using awk dynamically without trimming the spaces and want to find the count of matching string. Input Strings file: File1 content (file1): " a " " a2 " File2 content (file2): " a " " a " " a2 " " b2 " " c2 "... (3 Replies)
Discussion started by: AhmedLakadkutta
3 Replies

8. Shell Programming and Scripting

Prefixing test case methods with letter 'test'

Hi, I have a Python unit test cases source code file which contains more than a hundred test case methods. In that, some of the test case methods already have prefix 'test' where as some of them do not have. Now, I need to add the string 'test' (case-sensitive) as a prefix to those of the... (5 Replies)
Discussion started by: royalibrahim
5 Replies

9. Shell Programming and Scripting

Unable to update the string in a file trough case command

Hi All, my requirement is first search the line and updated stg value with the user input value. ws.rsp.url=https://rt930.rsp-stg.cb.info53.com/RSP/RAFT^M stg is not fixed string it may varies.So i used the below command for it rsp=`cat properties | grep ^ws.rsp.url= | awk -F"/"... (1 Reply)
Discussion started by: bhas85
1 Replies

10. Shell Programming and Scripting

How to test that a string doesn't contain specific characters?

Hi ! :) I made this : #!/bin/bash rsa_dir="/etc/openvpn/easy-rsa/" rsa_key_dir="/etc/openvpn/easy-rsa/keys/" ccd_dir="/etc/openvpn/ccd/" regex_special_char='' cd $rsa_dir while read -p "Please can you enter the vpn's username : " username ] || ] || ] || ] do echo "Your entry... (10 Replies)
Discussion started by: Arnaudh78
10 Replies
test(1) 						      General Commands Manual							   test(1)

NAME
test, [ - Evaluates conditional expressions SYNOPSIS
test [expression] [[expression]] STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: test: XCU5.0 [: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
None OPERANDS
The expression to be evaluated as true or false. This expression is constructed from the operators and elements explained in the DESCRIP- TION section. DESCRIPTION
The test command evaluates an expression constructed of functions and operators. If the value of expression is true, test returns an exit value of zero(0); otherwise, it returns FALSE, a nonzero exit value. The test command also returns a nonzero exit value if there are no arguments. The alternate form of the command surrounds expression with brackets ([ ]). When you use this form, you must surround the brackets with spaces. The test Expressions All of the listed functions and operators are separate arguments to test. The following functions are used to construct expression: TRUE if file exists and has read permission. TRUE if file exists and has write permission. TRUE if file exists and has execute permission. TRUE if file exists and is a regular file. TRUE if file exists and is a directory. TRUE if file exists. TRUE if file exists and is a character-special file. TRUE if file exists and is a block-special file. TRUE if file exists and is a named pipe (FIFO). [Tru64 UNIX] TRUE if file exists and is a soft link. Synonym for -L expression. TRUE if file exists and is a soft link. Synonym for -h expression. TRUE if file exists and its set-user ID bit is set. TRUE if file exists and its set-group ID bit is set. [Tru64 UNIX] TRUE if file exists and its sticky bit is set. TRUE if file exists and has a size greater than zero(0). TRUE if the open file with file descriptor number file_descriptor (1 by default) is associated with a terminal device. TRUE if the length of string1 is zero(0). TRUE if the length of string1 is nonzero. TRUE if string1 and string2 are identical. TRUE if string1 and string2 are not identical. TRUE if string1 is not the null string. TRUE if the integers number1 and number2 are algebraically equal. Any of the comparisons -ne, -gt, -ge, -lt, and -le can be used in place of -eq. The listed functions can be combined with the following operators: Unary negation operator. Binary AND operator. Binary OR operator (the -a operator has higher precedence than the -o operator). [Tru64 UNIX] Parentheses for grouping. EXIT STATUS
The following exit values are returned: The test command evaluated expression and its value is TRUE. The test command evaluated expression and is value is FALSE, or there are no arguments. An error occurred. EXAMPLES
To test whether a file exists and is not empty, enter: if test ! -s "$1" then echo $1 does not exist or is empty. fi If the file specified by the first positional parameter to the shell procedure does not exist, this displays an error message. If $1 exists, it displays nothing. There must be a space between -s expression and the file name. The double quotes around $1 ensure that the test will work properly even if the value of $1 is the empty string. If the double quotes are omitted and $1 is the empty string, test displays the error message test: parameter expected. To do a complex compari- son, enter: if [ $# -lt 2 -o ! -s "$1" ] then exit fi If the shell procedure was given fewer than two positional parameters or the file specified by $1 does not exist, then this exits the shell procedure. The special shell variable $# represents the number of positional parameters entered on the command line that started this shell procedure. ENVIRONMENT VARIABLES
The following environment variables affect the execution of test: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: csh(1), find(1), ksh(1), Bourne shell sh(1b), POSIX shell sh(1p) Standards: standards(5) test(1)
All times are GMT -4. The time now is 06:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy