BASH Programming - Introduction HOW-TO

BASH Programming - Introduction HOW-TO

BASH Programming - Introduction HOW-TO

Table of Contents

BASH Programming - Introduction HOW-TO.............................................................................................1 by Mike G mikkey at .ar.....................................................................................................1 1.Introduction...........................................................................................................................................1 2.Very simple Scripts...............................................................................................................................1 3.All about redirection.............................................................................................................................1 4.Pipes......................................................................................................................................................1 5.Variables...............................................................................................................................................2 6.Conditionals..........................................................................................................................................2 7.Loops for, while and until.....................................................................................................................2 8.Functions...............................................................................................................................................2 9.User interfaces......................................................................................................................................2 10.Misc....................................................................................................................................................2 11.Tables..................................................................................................................................................3 12.More Scripts........................................................................................................................................3 13.When something goes wrong (debugging).........................................................................................3 14.About the document............................................................................................................................3 1.Introduction...........................................................................................................................................3 1.1 Getting the latest version...................................................................................................................3 1.2 Requisites...........................................................................................................................................4 1.3 Uses of this document........................................................................................................................4 2.Very simple Scripts...............................................................................................................................4 2.1 Traditional hello world script.............................................................................................................4 2.2 A very simple backup script..............................................................................................................4 3.All about redirection.............................................................................................................................5 3.1 Theory and quick reference...............................................................................................................5 3.2 Sample: stdout 2 file .........................................................................................................................5 3.3 Sample: stderr 2 file ..........................................................................................................................5 3.4 Sample: stdout 2 stderr......................................................................................................................6 3.5 Sample: stderr 2 stdout .....................................................................................................................6 3.6 Sample: stderr and stdout 2 file ........................................................................................................6 4.Pipes......................................................................................................................................................6 4.1 What they are and why you'll want to use them................................................................................7 4.2 Sample: simple pipe with sed ...........................................................................................................7 4.3 Sample: an alternative to ls -l *.txt ..................................................................................................7 5.Variables...............................................................................................................................................7 5.1 Sample: Hello World! using variables...............................................................................................7 5.2 Sample: A very simple backup script (little bit better)......................................................................8 5.3 Local variables...................................................................................................................................8 6.Conditionals..........................................................................................................................................9 6.1 Dry Theory.........................................................................................................................................9 6.2 Sample: Basic conditional example if .. then.....................................................................................9 6.3 Sample: Basic conditional example if .. then ... else.......................................................................10 6.4 Sample: Conditionals with variables...............................................................................................10 7.Loops for, while and until...................................................................................................................10 7.1 For sample........................................................................................................................................10 7.2 C-like for.........................................................................................................................................11 7.3 While sample...................................................................................................................................11

i

BASH Programming - Introduction HOW-TO

Table of Contents

7.4 Until sample.....................................................................................................................................11 8.Functions.............................................................................................................................................12 8.1 Functions sample.............................................................................................................................12 8.2 Functions with parameters sample...................................................................................................12 9.User interfaces....................................................................................................................................13 9.1 Using select to make simple menus.................................................................................................13 9.2 Using the command line .................................................................................................................13 10.Misc..................................................................................................................................................14 10.1 Reading user input with read.........................................................................................................14 10.2 Arithmetic evaluation.....................................................................................................................14 10.3 Finding bash..................................................................................................................................15 10.4 Getting the return value of a program............................................................................................16 10.5 Capturing a commands output ......................................................................................................16 10.6 Multiple source files......................................................................................................................16 11.Tables................................................................................................................................................16 11.1 String comparison operators..........................................................................................................16 11.2 String comparison examples..........................................................................................................17 11.3 Arithmetic operators......................................................................................................................17 11.4 Arithmetic relational operators......................................................................................................18 11.5 Useful commands...........................................................................................................................18 12.More Scripts......................................................................................................................................22 12.1 Applying a command to all files in a directory.............................................................................22 12.2 Sample: A very simple backup script (little bit better)..................................................................22 12.3 File re-namer.................................................................................................................................23 12.4 File renamer (simple).....................................................................................................................24 13.When something goes wrong (debugging).......................................................................................25 13.1 Ways Calling BASH .....................................................................................................................25 14.About the document..........................................................................................................................25 14.1 (no) warranty..................................................................................................................................25 14.2 Translations....................................................................................................................................25 14.3 Thanks to........................................................................................................................................26 14.4 History...........................................................................................................................................26 14.5 More resources...............................................................................................................................26

ii

BASH Programming - Introduction HOW-TO

by Mike G mikkey at .ar

Thu Jul 27 09:36:18 ART 2000

This article intends to help you to start programming basic-intermediate shell scripts. It does not intend to be an advanced document (see the title). I am NOT an expert nor guru shell programmer. I decided to write this because I'll learn a lot and it might be useful to other people. Any feedback will be apreciated, specially in the patch form :)

1.Introduction

? 1.1 Getting the latest version ? 1.2 Requisites ? 1.3 Uses of this document

2.Very simple Scripts

? 2.1 Traditional hello world script ? 2.2 A very simple backup script

3.All about redirection

? 3.1 Theory and quick reference ? 3.2 Sample: stdout 2 file ? 3.3 Sample: stderr 2 file ? 3.4 Sample: stdout 2 stderr ? 3.5 Sample: stderr 2 stdout ? 3.6 Sample: stderr and stdout 2 file

4.Pipes

? 4.1 What they are and why you'll want to use them ? 4.2 Sample: simple pipe with sed ? 4.3 Sample: an alternative to ls -l *.txt

BASH Programming - Introduction HOW-TO

1

BASH Programming - Introduction HOW-TO

5.Variables

? 5.1 Sample: Hello World! using variables ? 5.2 Sample: A very simple backup script (little bit better) ? 5.3 Local variables

6.Conditionals

? 6.1 Dry Theory ? 6.2 Sample: Basic conditional example if .. then ? 6.3 Sample: Basic conditional example if .. then ... else ? 6.4 Sample: Conditionals with variables

7.Loops for, while and until

? 7.1 For sample ? 7.2 C-like for ? 7.3 While sample ? 7.4 Until sample

8.Functions

? 8.1 Functions sample ? 8.2 Functions with parameters sample

9.User interfaces

? 9.1 Using select to make simple menus ? 9.2 Using the command line

10.Misc

? 10.1 Reading user input with read ? 10.2 Arithmetic evaluation ? 10.3 Finding bash ? 10.4 Getting the return value of a program ? 10.5 Capturing a commands output ? 10.6 Multiple source files

5.Variables

2

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download