Skip to Content
Beginning Shell Scripting
book

Beginning Shell Scripting

by John C. Welch, Eric Foster-Johnson, Micah Anderson
April 2005
Beginner
528 pages
12h 22m
English
Wrox
Content preview from Beginning Shell Scripting

Chapter 10. Shell Scripting Functions

In writing shell scripts, you will often find yourself repeating the same code over and over again. Repeatedly typing the same code can be tiring and can lead to errors. This is where shell scripting functions should be used. Shell functions are used to simplify your shell scripts, making them easier to read and maintain.

Shell functions are like a magic box: You throw some things into it, it begins to shake and glow with a holy aura, and then out pops your data, magically changed. The magic that is performed on your data is a set of common operations that you have encapsulated into the function and given a name. A function is simply a way of taking a group of commands and putting a name on them. The bash man page describes functions as storing "a series of commands for later execution. When the name of a shell function is used as a simple command name, the list of commands associated with that function name is executed."

Other programming languages call functions subroutines. In essence they are atomic shell scripts, having their own exit codes and arguments. The main difference is that they run within your current shell script. This means that you have one instantiation of the shell, rather than spawning a new instance of the shell for each function. Instead of defining functions, you can put your functions into separate shell scripts, in separate files, and then run those scripts from within your shell script. However, this means you have 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.

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

Robust Shell Scripting

Robust Shell Scripting

Arnold Robbins

Publisher Resources

ISBN: 9780764583209Purchase book