Skip to Content
Shell Scripting: Expert Recipes for Linux, Bash, and More
book

Shell Scripting: Expert Recipes for Linux, Bash, and More

by Steve Parker
August 2011
Beginner to intermediate
600 pages
14h 29m
English
Wrox
Content preview from Shell Scripting: Expert Recipes for Linux, Bash, and More

Accessing Arrays

The basic method for accessing the values of arrays is much the same as the first method shown of assigning values to arrays. The curly brackets are compulsory. If an index is omitted, the first element is assumed.

Accessing by Index

Reusing the numberarray array from earlier in this chapter, the following code adds some echo statements to display the values after the assignments. Note that the sparse array means that no numberarray[2] exists.

numberarray[0]=zero 
$ numberarray[1]=onenumberarray[3]=threeecho ${numberarray[0]}
zero
$ echo ${numberarray[2]}echo ${numberarray[3]}
three
$

If you try to access $numberarray[1] without the curly brackets, the shell will interpret $numberarray as the first element within numberarray, and [1] as a literal string. This results in the literal string zero[1] being returned, which is not what was wanted.

echo $numberarray[1]
zero[1]
$

Length of Arrays

Finding the number of elements in an array is very similar to finding the length of a regular variable. While ${#myvar} gives the length of the string contained in the $myvar variable, ${#myarray[@]} or ${#myarray[*]} returns the number of elements in the array. With a sparse array, this still only returns the number of actual elements assigned to an array, which is not the same thing as the highest index used by the array.

Note also that ${#myarray} returns the length of the string in ${myarray[0]} and not the number of elements in the $myarray array. To ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Command Line and Shell Scripting Techniques

Linux Command Line and Shell Scripting Techniques

Vedran Dakic, Jasmin Redzepagic
Linux Shell Scripting Cookbook - Third Edition

Linux Shell Scripting Cookbook - Third Edition

Clif Flynt, Sarath Lakshman, Shantanu Tushar

Publisher Resources

ISBN: 9781118166321Purchase bookDownloads