Bash: Difference between revisions
Line 42: | Line 42: | ||
[[MediaBashing]] | [[MediaBashing]] | ||
[[MoreMediaBashing]] | [[MoreMediaBashing]] | ||
[ | [[grep]] |
Revision as of 13:34, 11 October 2010
Bash Scripting
Bash is the program that is the command line itself. BASH stands for the "Bourne-Again" Shell, the default shell for Linux and Mac OS X (Bourne-again in reference an original UNIX shell written by Stephen Bourne; BASH is a free software rewrite, part of the GNU project).
BASH scripts are, in the simplest form, just a sequence of command line commands saved in a file (or files). In this way, you can save a complicated series of steps in a single file (or BASH script). Using variables, you can turn a script into a tool that can, for instance, be applied to different input files, or perform an image transformation to a variable degree.
Fundamental Concepts
The BASH has most of the standard features of a programming language, including:
- Variable Substitution
- Arithmetic Expansion
- Command Substitution
- For Loops
- While Loops
- If-Then (Else) Clauses
- Functions
Key Terms
- Shell:: The program that is running while you use the command line (or the Terminal on a Mac)
- BASH:: The "Bourne-Again" Shell
- Environment Variables:: The variables (named pieces of text information) that the shell uses to keep track of important system settings. It was the Bourne shell that first added a notion of variables, a crucial step in making the shell a programming environment.
- echo:: The BASH command to display something (the "print" statement of the shell)
- $PATH:: The environment variable that tells the system where to find programs. When you type a command, the shell will search the places listed in the PATH. (The path contents are a list of UNIX directories separated by colons (:))
- Dot-files:: Files that start with a period (.). They are usually hidden (but you can see them with the ls -a command). Usually dot-files are used to store special settings for an application. The shell uses several (like the .profile where you can put shell commands that happen when you start your shell -- though this may depend on which shell program you use).
Resources
Other tutorials for BASH scripting:
- http://www.gentoo.org/doc/en/articles/bash-by-example-p1.xml
- http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
- http://tldp.org/LDP/abs/html/