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

Basic Linux Commands For Beginner's

Basic Linux Commands for Beginners Linux is an Operating System’s Kernel. You might have heard of UNIX. Well, Linux is a UNIX clone. But it was actually created by Linus Torvalds from Scratch. Linux is free and open-source, that means that you can simply change anything in Linux and redistribute it in your own name! There are several Linux Distributions, commonly called “distros”. A few of them are: Mint Ubuntu Linux Red Hat Enterprise Linux Debian Fedora Kali Linux is Mainly used in Servers. About 90% of the Internet is powered by Linux Servers. This is because Linux is fast, secure, and free! The main problem of using Windows Servers are their cost. This is solved by using Linux Servers. Forgot to mention, the OS that runs in about 80% of the Smartphones in the World, Android, is also made from the Linux Kernel. Yes, Linux is amazing! A simple example of its security is that most of the viruses in the world run on Windows, but not on Linux...