guide.bash.academy Open in urlscan Pro
2a06:98c1:3121::3  Public Scan

Submitted URL: http://guide.bash.academy/
Effective URL: https://guide.bash.academy/
Submission: On July 01 via api from US — Scanned from NL

Form analysis 2 forms found in the DOM

POST https://www.paypal.com/cgi-bin/webscr

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
  <p><q>I would like to pay <input type="hidden" name="business" value="UASPXT4P7DMTW">
      <input type="hidden" name="cmd" value="_donations">
      <input type="hidden" name="item_name" value="Contribution for guide.bash.academy">
      <input type="hidden" name="no_shipping" value="1">
      <input type="text" name="amount" value="20" size="5" class="text">
      <select name="currency_code" class="text">
        <option value="USD">US $</option>
        <option value="RUB">₽</option>
        <option value="GBP">£</option>
        <option value="EUR">€</option>
        <option value="CAD">C$</option>
        <option value="AUD">A$</option>
      </select> for the benefit of my access to this guide: <input type="submit"></q>
  </p>
</form>

POST https://www.paypal.com/cgi-bin/webscr

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
  <p><q>I would like to pay <input type="hidden" name="business" value="UASPXT4P7DMTW">
      <input type="hidden" name="cmd" value="_donations">
      <input type="hidden" name="item_name" value="Contribution for guide.bash.academy">
      <input type="hidden" name="no_shipping" value="1">
      <input type="text" name="amount" value="20" size="5" class="text">
      <select name="currency_code" class="text">
        <option value="USD">US $</option>
        <option value="RUB">₽</option>
        <option value="GBP">£</option>
        <option value="EUR">€</option>
        <option value="CAD">C$</option>
        <option value="AUD">A$</option>
      </select> for the benefit of my access to this guide: <input type="submit"></q>
  </p>
</form>

Text Content

THE BASH GUIDE


A QUALITY-DRIVEN GUIDE THROUGH THE SHELL'S MANY FEATURES.


SECTIONS

 * Authorship
 * Exercises
 * Chapters


✅ THANKS FOR YOUR CONTRIBUTION!

I would like to pay US $ ₽ £ € C$ A$ for the benefit of my access to this guide:


CHAPTERS

 * The Bash Guide
   Back to the front page.
 * Inception
   What is bash, and where does it live?
 * Commands And Arguments
   How do I give bash instructions?
 * Variables and Expansions
   How do I store and work with data?
 * Tests And Conditionals
   Different commands for different data.
 * Loops And Functions
   Avoid repeating yourself.
 * Asynchronous Commands
   Doing work in the background and managing jobs.
 * Colors And Terminal Commands
   Advanced control over the terminal display.
 * Customizing The Prompt
   Changing the look and feel of the interactive shell.
 * Advanced Topics
   About syntax sugar, specific use cases and shell tricks.
 * Recommendations And Pitfalls
   How to do things well and how to do things very, very badly.
 * Noteworthy External Tools
   Bash is limited, but augmented by a powerful toolset.

#This guide is an introduction to basic and advanced concepts of the bash shell.

#It teaches both newcomers and long-time users the best ways to write safe and
robust bash scripts, and how to interact efficiently and speedily with the shell
as a command line interface.


#AUTHORSHIP

#The primary author and maintainer of this guide is lhunath (Maarten Billemont).

#For many years I've worked as a volunteer educator, attempting to assist users
with their shell scripting problems. During that time I found that most of them
held serious misconceptions about the shell, largely due to the the widespread
publishing of naïve advice, poor practices, and often outright misinformation. I
also found an acute lack of reliable, clear, and accessible information to
improve their knowledge, and so I decided to write this guide.

#This guide is open source, licensed under Creative Commons
Attribution-ShareAlike 4.0 International License (CC-BY-SA). The source code is
available at GitHub. Go there to report issues or fork the guide to contribute
changes (big or small). To keep up to date with new chapters or improvements to
this guide, you could star the GitHub project.

#For advice, comments, suggestions, corrections or recommendations, contact
lhunath, file an issue or visit the Libera.chat #bash community on IRC.

#This guide has gone through several iterations and is a continuing active work
in progress. New chapters are being written and existing chapters are
continuously being updated and improved.

#In writing this guide, I am sharing my knowledge and expertise with the world
freely in the hopes of benefitting you and all others like you. If you've
benefitted from the knowledge and experience gained through this guide, consider
"giving back" to encourage a society of open access and freedom of information.
You can give back by providing feedback on the guide at the GitHub project page,
making corrections by hitting the edit buttons on the chapter pages, sharing
this guide with any of your friends that have similar interests so that they too
may learn as you have, or contributing financially in gratitude for my work,
time and effort put into writing and maintaining this guide.


✅ THANKS FOR YOUR CONTRIBUTION!

I would like to pay US $ ₽ £ € C$ A$ for the benefit of my access to this guide:

#


#EXERCISES

#After introducing new practical concepts, the guide offers a set of exercises
to allow you to practice your new knowledge. For a summary of all exercises in
this guide, see our exercises index.


#CHAPTERS

 1.  I'm done Inceptionbeta: What is bash, and where does it live?
     
     An introduction to bash, installing and starting it; the terminal, the
     keyboard and the display; programs, processes and how their flow of
     information is connected.

 2.  I'm done Commands And Argumentsbeta: How do I give bash instructions?
     
     About what a command is, and how to issue them; interactive mode and
     scripts; command syntax, searching commands and programs by name; arguments
     and word splitting as well as input and output redirection.

 3.  I'm done Variables and Expansionsalpha: How do I store and work with data?
     
     Bash parameters and variables; environment variables, special parameters
     and array parameters; expanding parameters, expansion operators, command
     substitution and process substitution; pathname expansion, tilde expansion
     and brace expansion.

 4.  I'm done Tests And Conditionalsdraft: Different commands for different
     data.
     
     Exit codes, success and failure, testing files, strings and numbers,
     handling different conditions, conditional operators and conditional
     compound commands.

 5.  I'm done Loops And Functionstodo: Avoid repeating yourself.
     
     Iterating commands using for loops, while and until loops, select
     statements and grouping them in functions.

 6.  I'm done Asynchronous Commandstodo: Doing work in the background and
     managing jobs.
     
     About jobs, asynchronous commands, job control, process identifiers and
     signals, process management, inter-process communications.

 7.  I'm done Colors And Terminal Commandstodo: Advanced control over the
     terminal display.
     
     Terminals and terminal sequences, terminal identifiers, terminfo and
     terminal capabilities, outputting colors, moving the cursor and querying
     the terminal's state.

 8.  I'm done Customizing The Prompttodo: Changing the look and feel of the
     interactive shell.
     
     Prompting, prompt commands and the DEBUG signal, readline, bind and input
     modes and hotkeys, programmatic command completion.

 9.  I'm done Advanced Topicstodo: About syntax sugar, specific use cases and
     shell tricks.
     
     

 10. I'm done Recommendations And Pitfallstodo: How to do things well and how to
     do things very, very badly.
     
     

 11. I'm done Noteworthy External Toolstodo: Bash is limited, but augmented by a
     powerful toolset.
     
     

Maarten Billemont (lhunath) — Attributions
lhunath lhunath