In addition to the interactive mode, where the user types one command at a time, with immediate execution and feedback, Bash (like many other shells) also has the ability to run an entire script of commands, known as a "Bash shell script" (or "Bash script" or "shell script" or just "script").
In effect, a Bash shell script is a computer program written in the Bash programming language.
A script might contain just a very simple list of commands — or even just a single command — or it might contain functions, loops, conditional constructs, and all the other hallmarks of imperative programming.
They are particularly suited to all of these because they allow complexity without requiring it: if a script just needs to run two external programs, then it can be a two-line script, and if it needs all the power and decision-making ability of a Turing-complete imperative programming language, then it can have that as well.
Shell scripts can be called from the interactive command-line described above; or, they can be called from other parts of the system.
Bash is a "Unix shell": a command-line interface for interacting with the operating system.
Shell scripts are commonly used for many system administration tasks, such as performing disk backups, evaluating system logs, and so on.
One script might be set to run when the system boots up; another might be set to run every weekday at 2:30 AM; another might run whenever a user logs into the system.
Programming language is a perfect tool for studying, complex mathematical calculation, entertainment and many other useful tasks.
It was intended as a free-software alternative to the Bourne shell (in fact, its name is an acronym for "Bourne-again shell"), and it incorporates all features of that shell, as well as new features such as integer arithmetic and in-process regular expressions.
The classic Bash programming language for iPad, iPhone and iPod touch.
The application is especially useful for learning the Bash programming language.
It is widely available, being the default shell on many GNU/Linux distributions and on Mac OS X; and ports exist for many other systems.
- Graphics, network, file system and real-time input are not supported.