Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lab 8 Shell Script Reference:

Similar presentations


Presentation on theme: "Lab 8 Shell Script Reference:"— Presentation transcript:

1 Lab 8 Shell Script Reference:
Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook

2 Positional parameters or command line arguments
Special shell variables $0…$9 Positional parameters or command line arguments myscript foo bar myscript $0 foo $1 Bar $2 $# tells you how many parameter your script was given

3 if condition if condition which is used for decision making in shell script, If given condition is true then command1 is executed. Syntax: if condition then command1... fi -cat command: Display text files on screen. cat file-name

4 test expression or [ expr ]
- -True  return zero(0) Is used to see if an expression is true - -False returns nonzero Syntax: test expression OR [ expression ] $ vi ispositive # Script to see whether argument is positive # if test $1 -gt 0 then echo "$1 number is positive" fi Run it as follows: $ chmod 755 ispositive $ ./ispositive 5

5

6

7

8 test expression or [ expr ]
For test statement with if commandFor [ expr ] statement with if command Mathematical Operator in  Shell Script Meaning if [ 5 -eq 6 ] if test 5 -eq 6 is equal to -eq if [ 5 -ne 6 ] if test 5 -ne 6 is not equal to -ne if [ 5 -lt 6 ] if test 5 -lt 6 is less than -lt if [ 5 -le 6 ] if test 5 -le 6 is less than or equal to -le if [ 5 -gt 6 ] if test 5 -gt 6 is greater than -gt if [ 5 -ge 6 ] if test 5 -ge 6 is greater than or equal to -ge

9 test expression or [ expr ]
String Comparisons Meaning Operator            string1 is equal to string2 string1 = string2 string1 is NOT equal to string2 string1 != string2 string1 is NOT NULL or not defined  string1 string1 is NOT NULL and does exist -n string1 string1 is NULL and does exist -z string1

10 test expression or [ expr ]
Logical Operators Meaning Operator            Logical NOT ! expression Logical AND expression1  -a  expression2 Logical OR expression1  -o  expression2

11 if …else…fi If given condition is true then command1 is executed otherwise command2 is executed. Syntax: if condition then command1 else if condition is not true then execute all commands up to fi fi

12 Exercise ( if..else with parameters)
if [ $# -eq 0 ] then echo " Enter one argument “ exit 1 else   echo " The first argument is $1 " fi

13

14 if …else…fi $ chmod 755 isnump_n $ ./isnump_n 5
$ vi isnump_n # Script to see whether argument is positive or negative if [ $# -eq 0 ] then echo "$0 : You must give/supply one integers" exit 1 fi if test $1 -ge 0 then echo "$1 number is positive" else echo "$1 number is negative" fi $ chmod 755 isnump_n $ ./isnump_n 5

15

16 if …else…fi Syntax: if condition Then then ..... .. do this else ....

17 Nested if-else-fi $ vi nestedif osch=0 echo "1. Unix (Sun Os)" echo "2. Linux (Red Hat)" echo –n "Select your os choice [1 or 2]? " read osch if [ $osch -eq 1 ] ; then      echo "You Pick up Unix (Sun Os)" else        if [ $osch -eq 2 ] ; then              echo "You Pick up Linux (Red Hat)"        else              echo "error only 1 or 2"        fi fi $ chmod 755 nestedif $ ./ nestedif

18

19

20 Multilevel if-then-else
Syntax: if condition then condition is zero (true - 0) execute all commands up to elif statement elif condition1 then condition1 is zero (true - 0) elif condition2 condition2 is zero (true - 0) else None of the above condtion,condtion1,condtion2 are true (i.e. all of the above nonzero or false) execute all commands up to fi fi

21 $ vi elf # Script to test if..elif...else # if [ $1 -gt 0 ]; then   echo "$1 is positive" elif [ $1 -lt 0 ] then   echo "$1 is negative" elif [ $1 -eq 0 ] then   echo "$1 is zero" else   echo "Opps! $1 is not number, give number" fi $ chmod 755 elf $ ./ elf 8 $ ./ elf -3 $ ./ elf 0 $ ./ elf a

22 for Loop Syntax: for { variable name } in { list } Do execute one for each item in the list until the list is not finished (And repeat all statement between do and done) done $ vi testfor for NUMBER in do echo "Welcome $NUMBER times" done $ vi for2 LIMIT = 10 for ((  i = 1 ;  i <= LIMIT;  i++  )) do   echo "Welcome $i times" done

23

24 for Loop $ vi nestedfor for (( i = 1; i <= 5; i++ ))      ### Outer for loop ### do     for (( j = 1 ; j <= 5; j++ )) ### Inner for loop ###     do           echo -n "$i "     done   echo "" #### print the new line ### done

25 while loop Syntax: i=$1 while test $i != 0 do echo –n "$i ,"
while [ condition ] do command1 command2 command3 done Write script to print numbers as 5,4,3,2,1, using while loop. The biggest number is supplied as command line argument. i=$1 while test $i != 0 do echo –n "$i ," i=`expr $i - 1` done echo " "

26 for (( i=1; i<=5; i++ )) do for (( j=1; j<=i; j++ ))
Exercise (1) Write shell script using for loop to print the following patterns . for (( i=1; i<=5; i++ )) do for (( j=1; j<=i; j++ )) echo -n "$i" done echo ”“

27


Download ppt "Lab 8 Shell Script Reference:"

Similar presentations


Ads by Google