Master the Linux ‘expr’ Command: A Comprehensive Guide

Peter Hou
2 min readMay 20, 2023

--

This article provides a comprehensive introduction to the Linux ‘expr’ command, a powerful utility for performing arithmetic and string operations from the command line. It discusses the history and use cases of the command, demonstrates how to use it, and provides examples of common arithmetic and string operations. It also covers potential pitfalls and tricky aspects of using the command, making it a valuable resource for anyone looking to enhance their Linux command-line skills.

Instructions

This article provides a comprehensive guide to the Linux expr command. This powerful utility is used for evaluating expressions in the Linux shell, allowing you to perform arithmetic and string operations directly from the command line.

History

The expr command has been a part of Unix and Linux operating systems for many decades, and it has been available in almost every Unix-like system since its inception.

When and why to use it

The expr command is especially useful when you need to perform arithmetic or string operations in shell scripts. It provides a quick and straightforward way to evaluate expressions and manipulate strings without needing to invoke a more substantial programming language like Python or Perl.

How to use it

To use the expr command, simply type expr followed by the expression you wish to evaluate.

expr 2 + 2

The commonly used parameters

The expr command does not have traditional command-line flags or options. Instead, it uses a set of operators for various arithmetic and string operations:

  • + for addition
expr 2 + 2
  • `` for subtraction
expr 10 - 3

Other supported parameters

The expr command also supports other operators including multiplication (*), division (/), modulus (%), string comparison (=), string length (length), and substring (substr).

Most common use cases

One of the most common uses for the expr command is in shell scripts, where it can be used to perform simple arithmetic and string operations.

counter=1
counter=$(expr $counter + 1)
echo $counter

The tricky skills

When working with the expr command, it's important to remember to escape characters that have special meaning in the shell, such as the multiplication operator (*).

expr 2 \\* 3

What needs to be noted

Be aware that expr returns 0 both when the result of an arithmetic operation is 0 and when the result of a string operation is false. This can potentially lead to bugs in shell scripts if not handled carefully.

Conclusion

The expr command is a powerful tool for performing arithmetic and string operations in the Linux shell. While it can be a bit tricky to use due to the need to escape certain characters, its flexibility and power make it a valuable tool for any Linux user's toolkit.

--

--

Peter Hou
Peter Hou

Written by Peter Hou

I am a Senior Software Engineer and tech lead in a top tech company.

No responses yet