Online Resources and Utilities for Learning Shell Scripting

Online Resources for Learning Shell Scripting

Online Resources for Learning Shell Scripting

In general, any average user of a free Operating System of the GNU / Linux type has had contact with the System Terminal. And many handle in average terms the same for many typical functions such as (un) install, update or delete any configuration or application in it. Others a little more advanced, technical or System or Server administrators make more advanced use of it.

Many times knowing or mastering terminal languages ​​is very useful because when we have to work in an advanced environment where there are usually a lot of special (advanced) configurations or scheduled tasks that other administrators wrote, and that now must be managed to solve a problem, improve something that already exists, such knowledge is of great help to us. And if we can count on online resources that facilitate the task of understanding or mastering them, then even better.

Shell scripting

Introduction

Really learning Shell Scripting or the advanced use of terminal languages ​​becomes really important and essential, to be able to effectively and efficiently meet these new requirements or challenges that are demanded of us when we want to do very advanced things in or with our GNU / Linux Operating Systems.

And whether one is a normal, advanced user or a SysAdmin, surely on occasion we have surely been in the task of understanding a Shell Script created by someone else, that is not well written, or that it is in a logical or writing structure, not easy to understand, or in the worst case, with command commands, atypical, old, inefficient, or written in an awkward and confusing way.

Therefore, this series of online resources that we will mention below, we hope they serve for the construction of better scripts, without having to go through a tedious and difficult task of figuring out how I encode it or why it was encoded that way, and why it no longer works.

But first it is good to clarify some important concepts before using these resources, especially for those users or basic stakeholders or those who do not master this very useful area of ​​the GNU / Linux Operating Systems:

What is the Shell?

Shell which in Spanish means CONCHA (shell, cover, protection). Applied this term in Operating Systems refers to the Operating System command interpreter. As usual, It is a high-performance text interface, manifested in the form of a Terminal (Console) and that serves essentially for 3 important work areas, which are: Manage the Operating System, Run applications and interact with them, and Serve as a basic programming environment.

What is the GNU / Linux Bash Shell?

It is a computer program whose function is to interpret orders. It is based on the Unix shell and is POSIX compliant. It was written for the GNU project and is the default shell for most Linux distributions.

What is a Shell Script?

It is a text file, containing a series of shell commands, which the system executes in an orderly fashion, from top to bottom. To edit them, you only need a text editor, such as Emacs, Vi, Nano, among many existing ones. They are saved with an “.sh” extension (or without it, in some cases) and are run from the Shell using the command: sh script name.sh. Scripts behave in the same way as shell commands.

What is Shell Scripting?

It is the technique (ability / skill) of designing and creating Script (task automation file) using a Shell (preferably) of an Operating System, or a Text Editor (Graphic or Terminal). This is a type of programming language that is generally interpreted.

That is, while most programs are compiled (encoded), because they are permanently converted to a specific code (special) before they can be executed (compilation process), a shell script remains in its original form (its source code in text form) and they are interpreted command by command each time they are executed. Although it is possible that the scripts can be compiled as well, although it is not usual.

Online Resources for Linux

Online Resources for Learning Shell Scripting

Bash Editors

These online Bash Editors allow anyone to comfortably write their scripts or the scripts of others directly in the browser to test them (run) and thus check whether or not they work correctly. Each of the following has its own strengths or limitations, so trying each one and finding out how they work will make your life easier when developing or adopting scripts.

Some of them allow you to test other languages ​​that are not GNU / Linux Terminal but more diverse and advanced programming languages, others come only in English and others are multilanguage. Others allow things like setting command line arguments and stdin inputs, others require user to sign in, some do not, some allow real-time collaboration.

Others are very simple and basic and others have advanced interfaces full of utilities. Some even provide teaching aids to learn to program any language while running and testing their codes.

Online Bash Compiler

Online Bash Compiler

JDoodle

JDoodle

Bash Online Editor Online Compiler

paiza.io

ShellCheck Editor Online Bash Compiler

ShellChek

Repl.it Editor Online Bash Compiler

Rep.it

Rextester Editor Online Bash Compiler

RexTester

Learn Shell Programming Editor Online Bash Compiler

LearnShell

Other useful online terminals are:

Utilities

CMD Challenge

CMD Challenge

This website allows us to submit our knowledge of Shell Scripting to a series of challenges (tests) based on our experience to solve common and advanced tasks with that language. Among the good things it has is the library of solutions proposed by each participant to each challenge, which makes it an excellent knowledge database for our own scripts.

Command line fu

Command line fu

Another useful website that allows us to register and explore a huge command line database offering us at no cost the benefits of the wisdom of others in the Terminal (CLI). All command lines can be commented, discussed and voted up or down, which makes it very useful when studying or using what is most valued by the community itself.

Explain Shell

Explain Shell

The following web allows us analyze command lines to detect errors or validate and optimize their structure, thus achieving a very practical form of self-teaching for each user according to the material explored by himself.

Tutorials, Guides and Wikis

Videotutorials

If you want to learn a little more about Shell Scripting in our own Blog, you can take a look at our other publications on the subject, by clicking here: Scripting in FromLinux