Skip to Content
bash Idioms
book

bash Idioms

by Carl Albing, JP Vossen
March 2022
Intermediate to advanced
167 pages
3h 46m
English
O'Reilly Media, Inc.
Content preview from bash Idioms

Chapter 7. List and Hash Handling

Computers, as we know, are very good at counting and organizing data. We can use code to count and organize data by using a data structure, and the building blocks for those are arrays. Bash has had arrays since the beginning and added associative arrays in version 4.0. You will run into hard-to-read code for bash arrays out there, partly because bash has a lot of history and backward compatibility to maintain, as we mentioned earlier, but also because some developers tend to overcomplicate things. Arrays are actually not that hard to implement, and you can write about them clearly with a little thought.

As a refresher, in computer science and programming, arrays are variables containing multiple elements that are indexed or referred to by an integer. Or in other words, an array is a variable containing a list instead of a scalar or single value. An associative array is a type of list that is indexed by a string instead of an integer. So it’s a list of key-value pairs, that basically forms a dictionary or look-up table, where internally the key is hashed to form a memory location. More or less.

The bash documentation uses the terms array and associative arrays, but depending on your background, lists and hashes, or possibly dictionaries or dicts, may be more familiar, and they are certainly easier to type and say. The bash documentation also uses subscript where other people might say index. We usually follow the bash docs for consistency, but ...

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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Bash Shell Scripting, 2nd Edition

Bash Shell Scripting, 2nd Edition

Sander van Vugt
bash Cookbook, 2nd Edition

bash Cookbook, 2nd Edition

Carl Albing, JP Vossen
Complete Bash Shell Scripting

Complete Bash Shell Scripting

Narendra Kumar Reddy Polu

Publisher Resources

ISBN: 9781492094746Errata Page