- What are file descriptors? A handle to files or devices used by Linux as an interface for input/output.
- What do the terms stdin, stdout and stderr mean?
- stdin, standard input. Used for input to commands.
- stdout, standard output. Used for normal output of commands.
- stderr, standard error. Used for error output of commands.
- How to stdin, stdout and stderr map to the default file descriptors? stdin is bound to fd0, stdout to fd1, and stderr to fd2.
- What is the difference between the output redirections
>
,1>
and2>
?>
and1>
are equal, and refer to redirecting stdout.2>
is used to redirect stderr. - What is the difference between
>
and>>
?>
will overwrite the file if it already has content, while>>
will append to the file. - How can both stdout and stderr be redirected at the same time?
- By using
&>
(and&>>
) - By binding stderr to stdout, using
2>&1
- By piping with
|&
- By using
- Which special devices can be used to act as a black hole for output?
/dev/null
and/dev/zero
. - What does a pipe do, with regards to redirections? It binds the stdout/stderr of a command to the stdin of another command.
- How can we send output to both the terminal and a log file?
By piping through the
tee
command, preferably with|&
so both stdout and stderr is forwarded. - What is a typical use-case for a here string?
We can use a here string if we want to supply input directly to stdin of a command.
bc
is a good example of this.
Learn Linux Shell Scripting – Fundamentals of Bash 4.4
By :
Learn Linux Shell Scripting – Fundamentals of Bash 4.4
By:
Overview of this book
Shell scripts allow us to program commands in chains and have the system execute them as a scripted event, just like batch files. This book will start with an overview of Linux and Bash shell scripting, and then quickly deep dive into helping you set up your local environment, before introducing you to tools that are used to write shell scripts. The next set of chapters will focus on helping you understand Linux under the hood and what Bash provides the user. Soon, you will have embarked on your journey along the command line. You will now begin writing actual scripts instead of commands, and will be introduced to practical applications for scripts. The final set of chapters will deep dive into the more advanced topics in shell scripting. These advanced topics will take you from simple scripts to reusable, valuable programs that exist in the real world. The final chapter will leave you with some handy tips and tricks and, as regards the most frequently used commands, a cheat sheet containing the most interesting flags and options will also be provided.
After completing this book, you should feel confident about starting your own shell scripting projects, no matter how simple or complex the task previously seemed. We aim to teach you how to script and what to consider, to complement the clear-cut patterns that you can use in your daily scripting challenges.
Table of Contents (24 chapters)
Title Page
About Packt
Contributors
Preface
Setting Up Your Local Environment
Choosing the Right Tools
The Linux Filesystem
Understanding the Linux Permissions Scheme
File Manipulation
Hello World!
Variables and User Input
Error Checking and Handling
Regular Expressions
Conditional Testing and Scripting Loops
Using Pipes and Redirection in Scripts
Functions
Scheduling and Logging
Parsing Bash Script Arguments with getopts
Bash Parameter Substitution and Expansion
Tips and Tricks with Cheat Sheet
Assessments
Other Books You May Enjoy
Index
Customer Reviews