Skip to main content

Arrays in Bash Shell

 

Creating and Using Arrays in Bash Shell Script

In Bash scripting, arrays are used to store multiple values in a single variable. Here's a step-by-step beginner-friendly explanation of how to create and use arrays.


1. Declaring an Array

You can create an array by assigning values to it using parentheses () and separating the values with spaces.

Example:

my_array=(apple banana cherry)

Here:

  • my_array is the name of the array.
  • It stores three elements: "apple", "banana", and "cherry".

2. Accessing Array Elements

Array elements are accessed using their index, starting from 0. You use the syntax ${array_name[index]} to access an element.

Example:

echo ${my_array[0]} # Outputs: apple
echo ${my_array[1]} # Outputs: banana echo ${my_array[2]} # Outputs: cherry

3. Adding Elements to an Array

You can add a new element by assigning a value to a specific index.

Example:

my_array[3]="date"
echo ${my_array[3]} # Outputs: date

4. Displaying All Elements

To display all elements of the array, use @ or * inside the curly braces.

Example:

echo ${my_array[@]} # Outputs: apple banana cherry date
echo ${my_array[*]} # Outputs: apple banana cherry date

5. Finding the Length of an Array

You can find the number of elements in the array using the syntax ${#array_name[@]}.

Example:

echo ${#my_array[@]} # Outputs: 4

6. Looping Through an Array

You can use a for loop to iterate over all elements in an array.

Example:

for item in "${my_array[@]}"; do
echo $item done

Output:

apple
banana cherry date

7. Removing an Element

To remove an element, use the unset command followed by the array name and index.

Example:

unset my_array[1]
echo ${my_array[@]} # Outputs: apple cherry date

8. Replacing an Element

You can update the value of a specific index.

Example:

my_array[1]="blueberry"
echo ${my_array[@]} # Outputs: apple blueberry cherry date

9. Examples in Action

Here’s a complete script that demonstrates creating and using arrays:

Script:

#!/bin/bash
# Create an array fruits=("apple" "banana" "cherry") # Access elements echo "First fruit: ${fruits[0]}" # Add an element fruits[3]="date" # Display all elements echo "All fruits: ${fruits[@]}" # Find the length of the array echo "Number of fruits: ${#fruits[@]}" # Loop through the array echo "Fruits list:" for fruit in "${fruits[@]}"; do echo $fruit done # Remove an element unset fruits[1] echo "After removal: ${fruits[@]}" # Replace an element fruits[1]="blueberry" echo "After replacement: ${fruits[@]}"

Key Points to Remember

  • Array indices start at 0.
  • Use ${array_name[index]} to access individual elements.
  • Use "${array_name[@]}" to access all elements.
  • Use ${#array_name[@]} to find the number of elements.

Comments

Popular posts from this blog

Writing a Bash Shell Script

Bash shell scripts in Linux are text files that contain a series of commands that can be executed by the Bash shell. Bash (Bourne Again Shell) is a popular shell in Linux and UNIX systems, and shell scripts are used to automate tasks, configure systems, or perform a sequence of operations. How to Write a Bash Shell Script Create a New File: You can create a new script using any text editor like nano , vim , or gedit . gedit myscript.sh Write the Script: A basic shell script begins with a "shebang" ( #!/bin/bash ) to specify the interpreter that will be used to execute the script. The rest of the file contains the commands to be run. Example of a simple script: #!/bin/bash # This is a comment echo "Hello, World!" # Print "Hello, World!" #!/bin/bash : Specifies that the script will be executed using the Bash shell. echo "Hello, World!" : A command that prints the string "Hello, World!" to the terminal. Comments: Any line starting ...

Different syntax for writing arithmetic expressions in bash shell

#!/bin/bash echo "Enter two numbers" read a b s=`expr $a + $b` echo "Sum1=$s" s=$[$a+$b] echo "sum2=$s" ((s=$a+$b)) echo "sum3=$s" ((s=a+b)) echo "sum3=$s" let s=$a+$b echo "sum4=$s" let s=a+b echo "sum4=$s" Note:bash shell support only integer arithmetic.zsh support operations on real numbers.We can use bc in bash shell to do real arithmetic. Eg: echo "$a*$b"|bc # where a and b are real Mathematical Operators With Integers Operator Description Example Evaluates To + Addition echo $(( 20 + 5 )) 25 - Subtraction echo $(( 20 - 5 )) 15 / Division echo $(( 20 / 5 )) 4 * Multiplication echo $(( 20 * 5 )) 100  % Modulus echo $(( 20 % 3 )) 2 ++ post-increment (add variable value by 1) x=5 echo $(( x++ )) echo $(( x++ )) 5 6 -- post-decrement (subtract variable value by 1) x=5 echo $(( x-- )) 4 ** Exponentiation x=2 y=3 echo $(( x ** y )) 8

Flow Control in shell script - if and case statements

Shell script usually consist of sequence of commands that starts at the first line and continues line by line until it reaches the end. Most programs do much more than this. They make decisions and perform different actions depending on conditions. The shell provides several commands that we can use to control the flow of execution in our program. In this lesson, we will look at the following:  test if case exit   test The test command is used most often with the if command to perform true/false decisions. The command is unusual in that it has two different syntactic forms: # First form test expression # Second form [ expression ] The test command works simply. If the given expression is true, test exits with a status of zero; otherwise it exits with a status of 1. Common numerical test conditions -gt   Greater than -lt    Less than -ge  Greater than or equal to -le    Less than or equal to -eq   Equal to -ne...