HomeLinuxUse Variables in Bash Scripts

Use Variables in Bash Scripts


Within the first a part of the Bash Fundamentals Collection, I briefly talked about variables. It’s time to take an in depth have a look at them on this chapter.

When you have ever achieved any form of coding, you have to be acquainted with the time period ‘variable’.

If not, consider a variable as a field that holds up data, and this data could be modified over time.

Let’s examine about utilizing them.

Utilizing variables in Bash shell

Open a terminal and use initialize a variable with a random quantity 4:

var=4

So now you could have a variable named var and its worth is 4. Wish to confirm it? Entry the worth of a variable by including $ earlier than the variable identify. It is known as parameter enlargement.

[email protected]:~$ echo The worth of var is $var
The worth of var is 4

🚧

There should NOT be an area earlier than or after = throughout variable initialization.

In order for you, you possibly can change the worth to one thing else:

Using variables in shell

In Bash shell, a variable could be a quantity, character, or string (of characters together with areas).

Different variable types in Bash shell

💡

Like different issues in Linux, the variable names are additionally case-sensitive. They will encompass letters, numbers and the underscore “_”.

Utilizing variables in Bash scripts

Did you discover that I did not run a shell script to point out the variable examples? You are able to do loads of issues within the shell immediately. While you shut the terminal, these variables you created will now not exist.

Nevertheless, your distro normally provides world variables in order that they are often accessed throughout your whole scripts and shells.

Let’s write some scripts once more. You need to have the script listing created earlier however this command will deal with that in both case:

mkdir -p bash_scripts && cd bash_scripts

Principally, it can create bash_scripts listing if it does not exist already after which swap to that listing.

Right here. let’s create a brand new script named knock.sh with the next textual content.

#!/bin/bash

echo knock, knock
echo "Who's there?"
echo "It is me, $USER"

Change the file permission and run the script. You discovered it within the earlier chapter.

This is what it produced for me:

Using global variable in Bahs script

Did you discover the way it added my identify to it robotically? That is the magic of the worldwide variable $USER that accommodates the username.

You may additionally discover that I used the ” typically with echo however not different occasions. That was deliberate. Quotes in bash have particular meanings. They can be utilized to deal with white areas and different particular characters. Let me present an instance.

Dealing with areas in variables

As an instance you must use a variable known as greetings that has the worth hey and welcome.

When you strive initializing the variable like this:

greetings=Good day and Welcome

You may get an error like this:

Command 'and' not discovered, however could be put in with:
sudo apt set up and

This is the reason you must use both single quotes or double quotes:

greetings="Good day and Welcome"

And now you need to use this variable as you need.

Using spaces in variable names in bash

Assign the command output to a variable

Sure! You may retailer the output of a command in a variable and use them in your script. It is known as command substitution.

var=$(command)

This is an instance:

[email protected]:~$ at the moment=$(date +%D)
[email protected]:~$ echo "Right this moment's date is $at the moment"
Right this moment's date is 06/19/23
[email protected]:~$ 
Command substitution in bash

The older syntax used backticks as a substitute of $() for the command substitution. Whereas it could nonetheless work, it’s best to use the brand new, really helpful notation.

💡

Variables change the worth except you declare a ‘fixed’ variable like this: readonly pi=3.14. On this case, the worth of variable pi can’t be modified as a result of it was declared readlonly.

🏋️ Train time

Time to follow what you discovered. Listed here are some train to check your studying.

Train 1: Write a bash script that prints your username, current working listing, residence listing and default shell within the following format.

Good day, there
My identify is XYZ
My present location is XYZ
My residence listing is XYZ
My default shell is XYZ

Trace: Use world variables $USER, $PWD, $HOME and $SHELL.

Train 2: Write a bash script that declares a variable named value. Use it to get the output within the following format:

Right this moment's value is $X
Tomorrow's value is $Y

The place X is the preliminary worth of the variable value and it’s doubled for tomorrow’s costs.

Trace: Use / to flee the particular character $.

The solutions to the workouts could be mentioned on this devoted thread in the neighborhood.

Apply Train in Bash Fundamentals Collection #2: Utilizing Variables in Bash

In case you are following the Bash Fundamentals sequence on It’s FOSS, you possibly can submit and talk about the solutions to the train on the finish of the chapter: Fellow skilled members are inspired to supply their suggestions to new members. Do notice that there might be multiple reply to a given downside.

Within the subsequent chapter of the Bash Fundamentals Collection, you may see the right way to make the bash scripts interactive by passing arguments and accepting consumer inputs.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments