How To Assign Output of a Linux Command to a Variable

When you run a command, it produces some kind of output: either the result of a program is suppose to produce or status/error messages of the program execution details. Sometimes, you may want to store the output of a command in a variable to be used in a later operation.

In this post, we will review the different ways of assigning the output of a shell command to a variable, specifically useful for shell scripting purpose.

To store the output of a command in a variable, you can use the shell command substitution feature in the forms below:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'
Below are a few examples of using command substitution.

In this first example, we will store the value of who (which shows who is logged on the system) command in the variable CURRENT_USERS user:

$ CURRENT_USERS=$(who)
Then we can use the variable in a sentence displayed using the echo command like so:

$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"
In the command above: the flag -e means interpret any escape sequences ( such as \n for newline) used. To avoid wasting time as well as memory, simply perform the command substitution within the echo command as follows:

$ echo -e "The following users are logged on the system:\n\n $(who)"
Shows Current Logged Users in Linux
Shows Current Logged Users in Linux
Next, to demonstrate the concept using the second form; we can store the total number of files in the current working directory in a variable called FILES and echo it later as follows:

$ FILES=`sudo find . -type f -print | wc -l`
$ echo "There are $FILES in the current working directory."
Show Number of Files in Directory
Show Number of Files in Directory
That’s it for now, in this article, we explained the methods of assigning the output of a shell command to a variable. You can add your thoughts to this post via the feedback section below.

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to Monitor Apache Web Server Load and Page Statistics

As promised in our earlier tutorials of Apache Series, Today we are here with another...

14 Outstanding Backup Utilities for Linux Systems

Backup on personal computers or servers is always important to prevent permanent data loss....

How to install and setup Docker on RHEL 7/CentOS 7

Posted onJanuary 14, 2018in CategoriesCentOS, Docker, Linux, RedHat and Friendslast updated...

Nikto – A Web Application Vulnerability and CGI Scanner for Web Servers

Nikto Web Scanner is an another good to have tool for any Linux administrator’s arsenal. It’s an...

How to install latest kernel on CentOS Linux 7 using yum command

am a new CentOS Linux 7 user who runs it on my Laptop. I liked the operating system. Is there is...