BASH/C2/Conditional-execution/English
Title of script: More on Arrays in BASH Shell Scripting
Author: Lavitha Pereira
Keywords: video tutorial, Bash shell, Array
| |
|
| Display Slide 1 | Welcome to the spoken tutorial on
More on Arrays in BASH |
| Display Slide 2
Learning Objectives |
In this tutorial, we will learn to
|
| Display Slide 4
Prerequisite
|
To follow this tutorial,
You should be familiar with the Linux Operating System.
|
| Display Slide 5
System Requirements |
For this tutorial I am using
GNU Bash version 4 or above is recommended to practice this tutorial. |
| Display Slide 6
“Extract of element from an Array”
|
* The elements in an Array can be extracted from any position
|
| Display Slide 6
Syntax:
|
The syntax is as follows:
ArrayName opening square bracket At sign closing square bracket colon position colon Number of elements to be extracted from the position mentioned. |
| Let us understand with the help of an example. | |
| Press Ctrl+Alt+T | Open the terminal by pressingCtrl+Alt+T keys simultaneously |
| On Terminal >>Type gedit array2.sh | Type:
gedit space array2.sh on the terminal. |
| Now type the code as shown here in your array2.sh file. | |
| [Highlight]
#!/bin/bash |
This is the Shenbang line |
| [Highlight]
declare -a Linux=('Debian' 'Redhat' 'Ubuntu' 'Fedora') |
This declare command declares an array named Linux with elements
|
| echo -e "Original elements in an array Linux: ${Linux[@]} \n" | This echo command will print the list of all the elements in the array. |
| echo -e "The two elements starting from index one(Redhat): ${Linux[@]:1:2}\n"
|
The next echo command will print the extracted elements.
${Linux[@]:1:2} will print two elements starting from index one which is Redhat. |
| Switch to Terminal>>Type chmod +x array2.sh>> Press Enter | Switch to Terminal.
First let's make the file executable by typingchmod space plus x space array2.sh.Press Enter. |
| Type ./array2.sh>> Press Enter | Now let's execute it by typing
dot slash array2.sh Press Enter. |
| OUTPUT
Original elements in an array Linux: Debian Redhat Ubuntu Fedora
|
We get the output as shown -
|
| OUTPUT
The two elements starting from index one(Redhat): Redhat Ubuntu
|
The two elements starting from index one(Redhat): Redhat Ubuntu |
| Let us switch back to the slides | |
===== Display Slide 7 =====
“Replace an element in an Array”ArrayName[n]='NewWord'
|
An existing element in an Array can be replaced using the following syntax.ArrayName opening square bracket n closing square bracket equal to within single quote, NewWord.
|
| Come back to the text editor. | |
| [Highlight]
Linux[2]='Mandriva' |
Linux[2]='Mandriva'
This command will replace the third element Ubuntu with Mandriva. |
| echo -e "All elements after replacement: ${Linux[@]} \n" | This echo command will display all elements of array Linux after replacement. |
| Now come back to the terminal
Let us execute as we did before. | |
| [Highlight]
All elements after replacement: Debian Redhat Mandriva Fedora |
This displays all elements after Ubuntu was replaced with Mandriva |
| Switch to slides | |
| ===== Display Slide 8 =====
“Add an element to an Array”
ArrayName=("${ArrayName[@]}" "New_word_1" "New_word_2")
|
We can append an element using the following syntax -
space within double quote New_Word_1 space within double quote New_Word_2 closing round bracket. |
| Let us understand this with the help of our example.
Switch to the code file. | |
| Highlight
Linux=("${Linux[@]}" "Suse") |
The highlighted command will append a new element Suse to the array Linux |
| echo -e "All elements After appending Suse: ${Linux[@]} \n" | Then we will echo all the elements after appending Suse. |
| Switch to the terminal.
We will execute again. | |
| [Highlight]
All elements After appending Suse: Debian Redhat Mandriva Fedora Suse |
Here we can see all the elements after appending Suse to the array |
| Now, come back to the slides | |
| Display Slide 9
Remove an element from an Array
|
An element can be removed from an array by using the following syntax -
|
| Let us switch to the code file. | |
| Highlight
unset Linux[2] |
Here we are using the unset command.
And we will remove the third element Mandriva from the array Linux. |
| echo -e "All elements after removal of third element: ${Linux[@]} \n" | Then we will echo all the elements again after the removal of Mandriva. |
| Switch to the terminal and observe the output. | |
| All elements after removal of third element: Debian Redhat Fedora Suse | Here is the list of elements after removing Mandriva
|
| Let us summarize. | |
| Display slide 10
Summary |
In this tutorial, we learned to
|
| Display Slide 11
Assignment |
As an assignment.
|
| Display Slide 12 | Watch the video available at the link shown below
It summarizes the Spoken Tutorial project If you do not have good bandwidth, you can download and watch it |
| Display Slide 13
|
The Spoken Tutorial Project Team
Conducts workshops using spoken tutorials Gives certificates to those who pass an online test For more details, please write to contact@spoken-tutorial.org
|
| Display Slide 16
Acknowledgement |
Spoken Tutorial Project is a part of the Talk to a Teacher project
It is supported by the National Mission on Education through ICT, MHRD, Government of India More information on this Mission is available at: http://spoken-tutorial.org/NMEICT-Intro |
| The script has been contributed by FOSSEE and spoken-tutorial team.
Thank you for joining. |