Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shell Script2 Reference: Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook

Similar presentations


Presentation on theme: "Shell Script2 Reference: Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook"— Presentation transcript:

1 Shell Script2 Reference: Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook http://www.freeos.com/guides/lsst/index.html

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

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 then command1... command1... fi fi

4 test expression or [ expr ] - -True  return zero(0) Is used to see if an expression is true - -False  returns nonzero test expression OR [ expression ] 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 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

6 test expression or [ expr ] String Comparisons MeaningOperator 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

7 test expression or [ expr ] Logical Operators MeaningOperator Logical NOT ! expression Logical AND expression1 -a expression2 Logical OR expression1 -o expression2

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

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

10 if …else…fi $ 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

11 if …else…fi Syntax: if condition Then if condition if conditionthen....... do this else...... fielse............. do this fi

12 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

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

14 $ 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

15 for Loop $ vi testfor for NUMBER in 1 2 3 4 5 do echo "Welcome $NUMBER times" done 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) execute one for each item in the list until the list is not finished (And repeat all statement between do and done)done $ vi for2 LIMIT = 10 for (( i = 1 ; i <= LIMIT; i++ )) do echo "Welcome $i times" done

16 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

17 while loop Syntax : while [ condition ] do do command1 command1 command2 command2 command3 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 " "

18 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++ )) do echo -n "$i" done echo ”“ done 1 22 333 4444 55555


Download ppt "Shell Script2 Reference: Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook"

Similar presentations


Ads by Google