Unix
In this tutorial we will learn about String Operators in Shell Programming.
We will be using if else statement in this tutorial.
We use the = equal operator to check if two strings are equal.
=
In the following example we will check if entered strings are equal.
#!/bin/sh # take two strings from user echo "Enter first string:" read str1 echo "Enter second string:" read str2 # check if [ "$str1" = "$str2" ] then echo "Strings are equal." else echo "Strings are not equal." fi
Output:
$ sh equal.sh Enter first string: Hello Enter second string: hello Strings are not equal. $ sh equal.sh Enter first string: Hello Enter second string: Hello Strings are equal.
Note! We are enclosing str1 and str2 in double quotes like [ "$str1" = "$str2" ] to handle multi-word strings.
[ "$str1" = "$str2" ]
We use the != not equal operator to check if two strings are not equal.
!=
In the following example we will check if entered string is not equal to "Hello World".
#!/bin/sh # take a string from user echo "Enter string:" read str s="Hello World" # check if [ "$str" != "$s" ] then echo "$str not equal to $s." else echo "$str equal to $s." fi
$ sh notequal.sh Enter string: Hello Hello not equal to Hello World. $ sh notequal.sh Enter string: Hello World Hello World equal to Hello World.
We use -z to check if the size of the string is zero.
-z
In the following example we will check if the size of the entered string is zero.
#!/bin/sh # take a string from user echo "Enter string:" read str # check if [ -z "$str" ] then echo "String size equal to 0." else echo "String size not equal to 0." fi
$ sh zerosize.sh Enter string: Hello World String size equal to 0. $ sh zerosize.sh Enter string: String size equal to 0.
We use -n to check if the size of the string is not zero.
-n
In the following example we will check if the size of the entered string is not zero.
#!/bin/sh # take a string from user echo "Enter string:" read str # check if [ -n "$str" ] then echo "String size not equal to 0." else echo "String size equal to 0." fi
$ sh notzerosize.sh Enter string: Hello String size not equal to 0. $ sh notzerosize.sh Enter string: String size equal to 0.
In the following example we will print the length of the entered string.
#!/bin/sh # take a string from user echo "Enter string:" read str echo "Length of the entered string = ${#str}"
$ sh length.sh Enter string: Length of the entered string = 0 $ sh length.sh Enter string: Hello Length of the entered string = 5 $ sh length.sh Enter string: Hello World Length of the entered string = 11