Reader small image

You're reading from  Mastering Bash

Product typeBook
Published inJun 2017
Reading LevelIntermediate
PublisherPackt
ISBN-139781784396879
Edition1st Edition
Languages
Right arrow
Author (1)
Giorgio Zarrelli
Giorgio Zarrelli
author image
Giorgio Zarrelli

Giorgio Zarrelli is a passionate GNU/Linux system administrator and Debian user, but has worked over the years with Windows, Mac, and OpenBSD, writing scripts, programming, installing and configuring services--whatever is required from an IT guy. He started tinkering seriously with servers back in his university days, when he took part in the Computational Philosophy Laboratory and was introduced to the Prolog language. As a young guy, he had fun being paid for playing games and write about them in video game magazines. Then he grew up and worked as an IT journalist and Nagios architect, and recently moved over to the threat intelligence field, where a lot of interesting stuff is happening nowadays. Over the years, he has worked for start-ups and well-established companies, among them In3 incubator and Onebip as a database and systems administrator, IBM as QRadar support, and Anomali as CSO, trying to find the best ways to help companies make the best out of IT. Giorgio has written several books in Italian on different topics related to IT, from Windows security to Linux system administration, covering MySQL DB administration and Bash scripting.
Read more about Giorgio Zarrelli

Right arrow

What is a subshell?

Let's start with a more basic question. What is a shell? To make it simple, a shell is an interface between the user and the underlying operating system. It can be a command-line interpreter or a graphic interface, but the purpose of a shell is to be an intermediary between the user and the core of the system, allowing the former to access the services offered by the latter. So, for instance, a bash shell gives us a command-line interface access through a Terminal and a series of commands that allows us to communicate with the operating system and make use of its services to perform tasks.

In a shell, each command is usually executed after the former has concluded its task, but we can change to some extent this behavior leveraging some key concepts: background process, signals, and subshells.

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering Bash
Published in: Jun 2017Publisher: PacktISBN-13: 9781784396879

Author (1)

author image
Giorgio Zarrelli

Giorgio Zarrelli is a passionate GNU/Linux system administrator and Debian user, but has worked over the years with Windows, Mac, and OpenBSD, writing scripts, programming, installing and configuring services--whatever is required from an IT guy. He started tinkering seriously with servers back in his university days, when he took part in the Computational Philosophy Laboratory and was introduced to the Prolog language. As a young guy, he had fun being paid for playing games and write about them in video game magazines. Then he grew up and worked as an IT journalist and Nagios architect, and recently moved over to the threat intelligence field, where a lot of interesting stuff is happening nowadays. Over the years, he has worked for start-ups and well-established companies, among them In3 incubator and Onebip as a database and systems administrator, IBM as QRadar support, and Anomali as CSO, trying to find the best ways to help companies make the best out of IT. Giorgio has written several books in Italian on different topics related to IT, from Windows security to Linux system administration, covering MySQL DB administration and Bash scripting.
Read more about Giorgio Zarrelli