Bash programming: Difference between revisions
wikademia>Josh Sandlin No edit summary |
wikademia>Historybuff Shells are interactive, and can be used for programming, but aren't always. |
||
| Line 1: | Line 1: | ||
==Bash Shell== | ==Bash Shell== | ||
One of the most powerful tools when | One of the most powerful tools when using Linux (or any Unix) is the Bash Shell. When coding for the Bash Shell, you are writing scripts that will be executed by the shell. Bash Scripts are similar in nature to Batch scripts in Windows, but go much deeper into the operation of the OS. | ||
==What does it look like?== | ==What does it look like?== | ||
The Bash Shell syntax works very much like Batch, in that you use terminal commands. A sample script can be as simple as | The Bash Shell syntax works very much like Batch, in that you use terminal commands. A sample script can be as simple as | ||
Revision as of 16:22, 16 November 2007
Bash Shell
One of the most powerful tools when using Linux (or any Unix) is the Bash Shell. When coding for the Bash Shell, you are writing scripts that will be executed by the shell. Bash Scripts are similar in nature to Batch scripts in Windows, but go much deeper into the operation of the OS.
What does it look like?
The Bash Shell syntax works very much like Batch, in that you use terminal commands. A sample script can be as simple as <source lang="bash">
- !/bin/bash
echo "hello world!" </source> and can be as complex as script designed to ping a DNS server to retrieve an IP. A typical Bash Script is used to automate monotonous tasks like scanning folders and deleting automatically backed up files, or setting permissions to new files.
How do you make a Bash Script?
To begin the coding of a Bash Script, all one needs is a text editor (such as Gedit). Head the file off with: <source lang="bash">#!/bin/bash</source>. Then one would write the commands or arguments that need to be performed, such as: <source lang="bash">alias nmp="nmap -vv -T Insane -P0 -O"</source> That example makes a script that eases the use of the Nmap Port Scanner. The finished product would look something like: <source lang="bash">
- !/bin/bash
alias nmp="nmap -vv -T Insane -P0 -O" </source>
Input
Taking user input is invaluable when making an application. Recieving and interpreting a user's input is a simple task in Bash scripting. All that is needed is to declare a variable to read, and use it for something. An easy way to explain this would be to ask for a user's name, and display it: <source lang="bash">
- !/bin/bash
echo enter your name please: read NAME echo your name is $NAME </source>
Loops
Loops are an essential part to many programming languages, and this holds true for Bash scripting as well. A simple way to incorporate a loop into a Bash script would look like this: <source lang="bash">
- !/bin/bash
while true; do echo enter an address to scan: read ADDR nmap -vv -T Insane -P0 -O $ADDR done </source>