Presentation is loading. Please wait.

Presentation is loading. Please wait.

This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Module 9 Basic Scripting.

Similar presentations


Presentation on theme: "This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Module 9 Basic Scripting."— Presentation transcript:

1 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Module 9 Basic Scripting

2 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Exam Objective 3.3 Turning Commands into a Script Objective Summary – Basic Text Editing – Basic Shell Scripting

3 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Text Editors

4 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. A script is a sequence of commands If you can type it on the command line, it can be scripted You can branch based on tests and loop over collections This is all available from the command line, too Scripts are repeatable and consistent and free you to do more interesting work

5 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Editors Scripts are text files LibreOffice will add formatting, making it unusable nano and vi / vim are popular editors Of the two, nano is far easier to use

6 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. nano Type as normal, use arrow keys to move around Most commands are Control + another character Context sensitive commands are at the bottom of the screen, e.g. ^X to exit, ^W to find ^G gets you help anywhere

7 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. shebang

8 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. #! #! is the shebang (hash + bang) Tells the kernel what shell interpreter to use to run the script Must be on the first line #!/bin/sh #!/usr/bin/ruby Lets you run the script with./script no matter which shell the user has

9 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Working with Variables

10 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Variables Temporary storage of data in memory Assigning (no $): – FOO=“hello” – CWD=`pwd` – BAR=“Hello $NAME” Using (need a $): – $FOO – echo “Hello $NAME”

11 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Special Variables $1..$9 are the arguments to the script./test.sh hello there # $1=“hello” $2=“there” $? is the exit code of the last command to be run use “exit 1” to exit your own script with error code 1

12 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Working with Conditionals

13 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Conditionals if something; then do this fi if something; then do this elif something else; then do that else try this fi # something returns an exit code. If it is 0, then “do this” will be executed up until fi # alternative syntax, allows for multiple tests and a default option if you want

14 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. tests test –f /tmp/foo # test if file exists test ! –f /tmp/foo # test if file doesn’t exist test $A –eq 1 # is $A = 1 (numeric) test “$B” = “Hello” # string comparison test $A –lt 10 # $A < 10? alternatively, [ is the same as test: if test –f /tmp/foo; then # it works if [ -f /tmp/foo ]; then # looks much nicer!

15 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Case case ”$GREETING" in hello|hi) echo "hello yourself" ;; goodbye) echo "nice to have met you" echo "I hope to see you again" ;; *) echo "I didn't understand that" esac

16 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Loops

17 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. The for loop Operates over a fixed set of items or a glob NAMES=“Alice Bob Charlie” for N in $NAMES; do echo “Hello $N” done for FILE in *; do ls –l $FILE done

18 This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. While loops Tests the loop condition each time while [ ! –f /tmp/foo ]; do try_to_make_foo # makes /tmp/foo on success sleep 1 # wait 1 sec done Used when the number of loops is unknown or changes each loop


Download ppt "This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group 2013. Module 9 Basic Scripting."

Similar presentations


Ads by Google