facebook youtube pinterest twitter reddit whatsapp instagram

Working With Variables In Bash

A variable is a value that can change depending on conditions or data passed to the program. To work with the variable in bash, here are what you need to know:

  • A variable name cannot start with a number, and cannot contain spaces.
  • It can be alphanumeric
  • It can start with an underscore

To declare a variable, type the name you want and set its value using the equals sign (=), make sure there is no space between the variable name and the equal sign or between the equals sign and the value, otherwise it would throw an error.

For example:

#!/bin/bash
b="How are You"
c=15

To use this variable, you call it with a dollar sign in front of their name.

E.g:

#!/bin/bash
b="How are You"
c=15

echo $b
echo $c

This is my output:

user@server:~/bin$ hw4.sh
How are You
15

These variables can also work inside other variable or strings, just make sure they are double quoted, e.g:

#!/bin/bash
b="How are You"
c=15

echo "b! You are $c old."

Output:

user@server:~/bin$ hw4.sh

How are You! You are 15 old.

Also, you can give variable a special attribute, e.g declaring it as an integer or as a read-only, meaning it can't be modified later arithmetically or with stream manipulation.

The one I find interesting is converting strings to a lowercase or uppercase:

  • declare -i b=700 #b is an integer
  • declare -r e=300 #e is read-only
  • declare -l j="Lowercase" #j would be converted to lowercase
  • declare -u k="Uppercase" #k would be converted to UPPERCASE

Major Built-in Variable

  • echo $PWD - Returns the current directory
  • echo $HOME - User home directory
  • echo $MACHTYPE - Returns the machine type, handy when working on a different platform
  • echo $HOSTNAME - Returns system name