Using the '-ne' Operator in Bash: A Comprehensive Guide – TecAdmin

Channel: Linux
Abstract: /bin/bash a=10b=20 if [ $a -ne $b ]then echo "The values are not equal."else echo "The values are equal."fi In this example/bin/bash a=10 b=20 if [ $a

Bash, short for 「Bourne-Again SHell,」 is a Unix shell and a command-line interface for interacting with an operating system. As an integral part of the Linux and macOS operating systems, Bash scripting is a valuable skill for developers, system administrators, and even casual users. In this article, we will explore the ‘-ne’ operator in Bash, its usage, and various examples to help you better understand and implement it in your scripts.

Before diving into the ‘-ne’ operator, it’s essential to understand what operators are in the context of Bash scripting. Operators are symbols that perform specific actions on operands. Operands are the values on which these actions are performed. Bash supports several types of operators, including arithmetic, relational, and logical operators.

The ‘-ne’ Operator

The ‘-ne’ operator is a relational operator in Bash scripting, used for comparing two numerical values. It stands for 「not equal,」 and it returns true if the values being compared are not equal to each other. It is primarily used in conditional expressions, such as the ‘if’ and ‘while’ statements.

Syntax and Usage

The general syntax for using the ‘-ne’ operator in a Bash script is as follows:

if [ VALUE1 -ne VALUE2 ] then # Code to be executed if the condition is true fi1234if [ VALUE1 -ne VALUE2 ]then  # Code to be executed if the condition is truefi

Here, VALUE1 and VALUE2 represent the numeric values being compared. If VALUE1 is not equal to VALUE2, the code within the ‘then’ block will be executed.


To help you better understand the ‘-ne’ operator, let’s look at some examples.

Example 1: Basic Comparison

#!/bin/bash a=10 b=20 if [ $a -ne $b ] then echo "The values are not equal." else echo "The values are equal." fi1234567891011#!/bin/bash a=10b=20 if [ $a -ne $b ]then  echo "The values are not equal."else  echo "The values are equal."fi

In this example, the script checks if the values of ‘a’ and ‘b’ are not equal. Since 10 is not equal to 20, the output will be 「The values are not equal.」

Example 2: Using ‘-ne’ in a ‘while’ Loop

#!/bin/bash counter=1 while [ $counter -ne 6 ] do echo "Counter value: $counter" counter=$((counter + 1)) done123456789#!/bin/bash counter=1 while [ $counter -ne 6 ]do  echo "Counter value: $counter"  counter=$((counter + 1))done

This script uses the ‘-ne’ operator in a ‘while’ loop. The loop will continue running until the value of ‘counter’ is not equal to 6. The output will display the counter value from 1 to 5.

Common Mistakes and Pitfalls

Ensure that the values being compared are numeric. The ‘-ne’ operator is specifically designed for numeric comparisons. If you need to compare strings, use the ‘!=’ operator instead.

Always use spaces between the brackets and the operands. Bash scripting is sensitive to spaces, and omitting them may lead to unexpected results or errors.


The ‘-ne’ operator is a powerful tool in Bash scripting, allowing you to compare numeric values and execute code based on the comparison result. Understanding and correctly implementing the ‘-ne’ operator will help you create more efficient and versatile Bash scripts. By practicing with the provided examples and being mindful of common mistakes, you’ll be well on your way to mastering this essential Bash skill.

Ref From: tecadmin

Related articles