Changes between Version 13 and Version 14 of Csle2022/Agenda/scriptingandgithub


Ignore:
Timestamp:
Nov 12, 2022, 8:07:16 PM (18 months ago)
Author:
deepthi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Csle2022/Agenda/scriptingandgithub

    v13 v14  
    11= Hands-On =
    2 == Linux programming (scripting) ==
    3 
    4 Shell Scripting is the language of the linux terminal. Shell scripts are sometimes referred to as “shebang” which is derived from the “#!” notation. Shell scripts are executed by interpreters present in the linux kernel. Interpreters include: bash, csh, zsh e.t.c. Most popular of which is bash.
     2= Linux programming (scripting) =
     3
     4Shell Scripting is the language of the linux terminal, sometimes referred to as “shebang” which is derived from the “#!” notation.
     5
     6Shell scripts are executed by interpreters present in the linux kernel.
    57 Typical operations performed by shell scripts include file manipulation, program execution, and printing text.
    68
     
    1719Let's start to have some experience on scripting
    1820
    19 ===== Simple Script for newbies =====
     21== Simple Script for newbies ==
    2022
    2123First we have to create a text file
     
    4749Make yourself familiar with `man man` and `man apropos` on the shell. It will need for your self-tutoring.
    4850
    49 ==== Let's make this little advanced ====
    50 
    51 ===== How to define variables =====
     51== Let's make this little advanced ==
     52
     53== How to define variables ===
    5254
    5355Variables can be defined using the syntax ` variable_name=value`. To get the value of the variable, add `$` before the variable
     
    6062}}}
    6163
    62 ===== Arithmetic Expressions =====
     64=== Arithmetic Expressions ===
    6365
    6466These are the operstors supported by bash for mathematical calculations.
     
    8486}}}
    8587
    86 ===== How to read user input =====
     88=== How to read user input ===
    8789
    8890Sometimes user input are needed to perform relevant operations.
     
    9698`read -p "Enter your age" variable_name`
    9799
    98 ===== Numeric Comparison logical operators =====
     100=== Numeric Comparison logical operators ===
    99101
    100102Comparison is used to check if statements evaluate to true or false.
     
    118120}}}
    119121
    120 ===== Conditional Statements (Decision Making) =====
     122=== Conditional Statements (Decision Making) ===
    121123
    122124Conditions are expressions that evaluate to a boolean expression (true or false). To check conditions, we can use `if`,` if-else`,` if-elif-else` and nested conditionals.
    123125
    124 ===== Looping and skipping =====
     126Conditional Statements:
     127
     128There are total 5 conditional statements which can be used in bash programming
     129
     130- if statement
     131- if-else statement
     132- if..elif..else..fi statement (Else If ladder)
     133- if..then..else..if..then..fi..fi..(Nested if)
     134- switch statement
     135
     136==== if statement ====
     137This block will process if specified condition is true.
     138
     139Syntax:
     140{{{
     141if [ expression ]
     142then
     143   statement
     144fi
     145}}}
     146
     147==== if-else statement ====
     148If specified condition is not true in if part then else part will be execute.
     149
     150Syntax
     151
     152{{{
     153if [ expression ]
     154then
     155   statement1
     156else
     157   statement2
     158fi
     159}}}
     160
     161=== if..elif..else..fi statement (Else If ladder) ====
     162
     163To use multiple conditions in one if-else block, then elif keyword is used in shell.
     164
     165{{{
     166if [ expression1 ]
     167then
     168   statement1
     169   statement2
     170   .
     171   .
     172elif [ expression2 ]
     173then
     174   statement3
     175   statement4
     176   .
     177   .
     178else
     179   statement5
     180fi
     181}}}
     182
     183==== if..then..else..if..then..fi..fi..(Nested if) ====
     184
     185Nested if-else block can be used when, one condition is satisfies then it again checks another condition.
     186
     187Syntax:
     188
     189{{{
     190if [ expression1 ]
     191then
     192   statement1
     193   statement2
     194   .
     195else
     196   if [ expression2 ]
     197   then
     198      statement3
     199      .
     200   fi
     201fi
     202}}}
     203
     204==== switch statement ====
     205
     206case statement works as a switch statement if specified value match with the pattern then it will execute a block of that particular pattern
     207When a match is found all of the associated statements until the double semicolon (;;) is executed.
     208A case will be terminated when the last command is executed.
     209If there is no match, the exit status of the case is zero.
     210
     211Syntax:
     212{{{
     213case  in
     214   Pattern 1) Statement 1;;
     215   Pattern n) Statement n;;
     216esac
     217
     218}}}
     219
     220=== Looping and skipping ===
    125221
    126222For loops allow you to execute statements a specific number of times.
     
    148244}}}
    149245
    150 ====== While loop ======
     246=== While loop ===
    151247
    152248While loops check for a condition and loop until the condition remains true. We need to provide a counter statement that increments the counter to control loop execution.
     
    177273}}}
    178274
    179 ===== How to execute commands with back ticks =====
     275=== How to execute commands with back ticks ===
    180276
    181277If you need to include the output of a complex command in your script, you can write the statement inside back ticks.
     
    196292}}}
    197293
    198 ===== How to Automate Scripts by Scheduling via cron Jobs =====
     294=== How to Automate Scripts by Scheduling via cron Jobs ===
    199295
    200296Cron is a job scheduling utility present in Unix like systems. Jobs can be scheduled to execute daily, weekly, monthly or in a specific time of the day. Automation in Linux heavily relies on cron jobs.