04. String Tests =, !=

String tests can be useful for checking user's input.

Checking for string equality

To check if two strings are equal or not, simply use the = or != operators.

$ [ 'hi' = 'hi' ]; echo $?
0
$ [ 'hello' = 'hi' ]; echo $?
1

Checking if argument is empty or not

Two unary operators are used to check if a string is empty or not.

-z
Argument is empty
-n
Argument is not empty
$ [ -z "" ]; echo $?
0
$ [ -n "" ]; echo $?
1

Example script

Here's a simple script that reads an input, and depending on the string put in, returns a specific response.

#!/bin/bash
 
printf 'Please enter a word: '
 
read input
 
if [ $input = 'hi' ]; then
  printf 'Hi to you too!'
else
  printf 'You input %s.\n' $input
fi

We'll go over if-then-else statements soon, but notice how we can use tests and expressions such as these to control logic in our scripts.

Aching back from coding all day?

Foam Seat Cushion

Aching back from coding all day? Try Back Problems

This foam seat cushion relieves lowerback pain, numbness and pressure sores by promoting healthy weight distribution, posture and spine alignment. Furthermore, it reduces pressure on the tailbone and hip bones while sitting. Perfect for sitting on the computer desk for long periods of time.

$ Check price
99.9599.95Amazon 4.5 logo(9,445+ reviews)

More Back Problems resources

Take your Linux skills to the next level!

The Linux Command Line

Take your Linux skills to the next level! Try Linux & UNIX

The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.

$ Check price
39.9539.95Amazon 4.5 logo(274+ reviews)

More Linux & UNIX resources

Ad