Bash áá¬ááºááœáŸááºážáá»á¬áž- á¡á
Bash Scripts á¡ááá¯ááºáž 2- Loops
Bash Scriptsá á¡ááá¯ááºáž 3- Command Line ááœá±ážáá»ááºááŸá¯áá»á¬ážááŸáá·áº ááá¯ááºáá»á¬áž
Bash Scripts á¡ááá¯ááºáž 4- á¡áááºááŸáá·áºá¡ááœááº
Bash Scriptsá á¡ááá¯ááºáž 5- Signalsá Background Tasksá Script Management
Bash Scriptsá á¡ááá¯ááºáž 6- Functions and Library Development
Bash Scriptsá á¡ááá¯ááºáž 7- sed ááŸáá·áº Word Processing
Bash scriptsá á¡ááá¯ááºáž á- awk data processing language
Bash Scripts á¡ááá¯ááºáž 9- áá¯á¶ááŸááºáá±á¬áºááŒáá»ááºáá»á¬áž
Bash Scripts á¡ááá¯ááºáž 10- áááºááœá±á·ááá°áá¬áá»á¬áž
Bash scriptsá á¡ááá¯ááºáž 11- áá»áŸá±á¬áºááá·áºááŒááºážááŸáá·áº á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážááŒá¯áá±á¬ utilities áá»á¬ážá á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááŒááºážá
áá®áá±á·áá±á¬á· bash script ááœá±á¡ááŒá±á¬ááºážááŒá±á¬áá«áááºá á€-
Command line scripts áá»á¬ážááẠáá®ážáá¯ááºá០ááá¯ááºááá·áºááá¯ááºáá±á¬ áá°áá®áá±á¬ command áá»á¬ážá
á¯á
ááºážááŸá¯ááŒá
áºááŒá®áž ááá¯ááºáá»á¬ážáá²ááá¯á· á
á¯áá±á¬ááºážáᬠáá¯á¶áááºááœááºáá»ááºá¡áá»áá¯á·ááŒáá·áº á
á¯á
ááºážáá¬ážáááºá á€á¡ááŒá±á¡áá±ááœááºá á¡ááœá²á·áá»á¬ážáá¡áá¯ááºáááááºáá»á¬ážááẠááœááºáááºáá±á¬áááºááá¯ážááŒá
áºááá¯ááºááẠááá¯á·ááá¯áẠá¡ááŒá¬ážá¡ááœá²á·áá»á¬ážá¡ááœáẠááá·áºááœááºážáá±áá¬á¡ááŒá
Ạáá±á¬ááºááœááºááá¯ááºáááºá Scripts áá»á¬ážááẠáááŒá¬áááá¯ááºáá±á¬ááºáá±áá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºááŒááºááŒá
áºá
á±ááẠá¡á
áœááºážáááºáá±á¬áááºážáááºážááŒá
áºáááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠcommand line á¡ááŒá±á¬ááºážááŒá±á¬áá«áá áááºážááẠsemicolon ááŒáá·áºááŒá¬ážáá¬ážáá±á¬ command á¡áá»á¬ážá¡ááŒá¬ážááᯠáá áºááŒáá¯ááºáááºáááºáž áá¯ááºáá±á¬ááºááá¯ááºáááº-
pwd ; whoami
á¡ááŸááºáá±á¬á·á áááºááẠáááºážááᯠáááºá terminal ááœáẠá
ááºážááŒáá·áºáá«áá command ááŸá
áºáá¯áá«áá±á¬ áááºá ááááá¯á¶áž bash script ááᯠáá±ážáá¬ážááŒá®ážááŒá
áºáááºá á€áá²á·ááá¯á·á¡áá¯ááºáá¯ááºáááºá á¡áááºážá¡ááẠpwd
áááºááŸááá¯ááºáá±á¬ááºáá±ááá·áº áááºážááœáŸááºáá»ááºááŸáá·áº áááºáááºááá·áº á¡áá»ááºá¡áááºááᯠááŒááááºá ááá¯á·áá±á¬áẠá¡áááá·áºáá±ážáááºá whoami
áááºáááºáá±á¬ááºáá¬ážááá·áº á¡áá¯á¶ážááŒá¯áá°á¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºááᯠááŒááááºá
á€áááºážáááºážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áááºááẠá á¬ááŒá±á¬ááºážáá áºááŒá±á¬ááºážááœáẠáááºááŸá áºáááºááá±á¬áẠcommand á¡áá»á¬ážá¡ááŒá¬ážááᯠáá±á«ááºážá ááºááá¯ááºááŒá®ážá áá áºáá¯áááºážáá±á¬ááá·áºáááºáá»ááºááŸá¬ áááá¯ááááºááá¯á·áá±ážááá¯á·ááá¯ááºáá±á¬ á¡áá»á¬ážáá¯á¶áž á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážááŒá áºáááºá á¡á±á¬ááºáá« command ááá¯á¡áá¯á¶ážááŒá¯á á€ááá·áºáááºáá»ááºááᯠáááºáááºááŸááºááá¯ááºáááº-
getconf ARG_MAX
command line ááẠáá±á¬ááºážááœááºáá±á¬ tool áá áºáá¯ááŒá áºáá±á¬áºáááºáž ááá¯á¡ááºááá·áºá¡áá»áááºááá¯ááºáž áááºážáá²ááá¯á· command áá»á¬ážááá·áºááá«áááºá áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºáá áºáá¯ááœáẠcommand á¡á á¯á¡áá±ážáá áºáá¯ááá¯áá±ážááŒá®áž áááºážááá¯á·ááᯠexecute áá¯ááºááẠááá¯ááá¯ááºááᯠááá¯ážááá¯ážááŸááºážááŸááºážáá±á«áºáá«á áááºááá¯á·áááºážá ááááºáá±á¬á· áá»áœááºáá±á¬áºááá¯á·ááŒá±á¬áá±áá²á· ááá¯ááºááᯠcommand line script ááá¯á·áá±á«áºáá«áááºá
bash scripts áááºááá¯á¡áá¯ááºáá¯ááºááá²á
á¡áááá·áºááᯠá¡áá¯á¶ážááŒá¯á á¡ááœááºááá¯ááºáá
áºáá¯ááᯠáááºáá®ážáá«á touch
. áááºážááááá
á¬ááŒá±á¬ááºážááẠáá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯ááá·áº shell ááá¯ááœáŸááºááŒáááºááá¯á¡ááºáááºá áá»áœááºáá±á¬áºááá¯á· á
áááºáááºá
á¬ážáááºá bash
ááá¯á·ááŒá±á¬áá·áº ááá¯ááºááááá
á¬ááŒá±á¬ááºážáááº-
#!/bin/bash
á€ááá¯ááºááŸáá¡ááŒá¬ážá
á¬ááŒá±á¬ááºážáá»á¬ážááẠshell ááœááºáá¯ááºáá±á¬ááºááŒááºážáááŸáááá·áºááŸááºáá»ááºáá»á¬ážááá¯ááœáŸááºááŒááẠhash áááºá¹áá±áááá¯á¡áá¯á¶ážááŒá¯áááºá ááá¯á·áá±á¬áº áááá
á¬ááŒá±á¬ááºážááẠá¡áá°ážááá
á¹á
áááºááŒá
áºááŒá®ážá áá±á¬ááºááœáẠá¡á¬áá±ááááºá¡ááŸááºá¡áá¬ážááŒáá·áº hash áá«ááŸáááẠ(á€á¡á
á®á¡á
á¥áºááᯠáá±á«áºáááºá bash
á áá¬ááºááœáŸááºážááᯠá¡áá°ážáááºáá®ážáá¬ážááá·áº á
áá
áºá¡á¬áž ááœáŸááºááŒáá«á bash
.
Shell á¡áááá·áºáá»á¬ážááᯠá á¬ááŒá±á¬ááºážááááºááŒáá·áº ááá¯ááºážááŒá¬ážáá¬ážááŒá®áž ááŸááºáá»ááºáá»á¬ážááᯠhash áááºá¹áá±áááŒáá·áº ááœá²ááŒá¬ážáá¬ážáááºá á€á¡áá¬ááẠáá¯á¶ááá¹áá¬ááºááŒá áºáááº-
#!/bin/bash
# This is a comment
pwd
whoami
á€ááœááºá command line ááœááºáá²á·ááá¯á·á semicolons ááŒáá·áºááŒá¬ážáá¬ážáá±á¬ á á¬ááŒá±á¬ááºážáá áºááŒá±á¬ááºážáá±á«áºááœáẠcommand áá»á¬ážááá¯áá±ážááá¯ááºáááºá ááá¯á·áá±á¬áºá áááºááẠááá°áá®áá±á¬ á á¬ááŒá±á¬ááºážáá»á¬ážáá±á«áºááœáẠcommand áá»á¬ážááá¯áá±ážáá«áá ááá¯ááºááẠáááºáááºááá¯ááá¯ááœááºáá°áááºá áááºááá¯á·áááºááá¯á á±áá¬áá° shell ááẠáááºážááá¯á·ááᯠáá¯ááºáá±á¬ááºáá±ážáááá·áºáááºá
áá¬ááºááœáŸááºážááá¯ááºááœáá·áºááŒá¯áá»ááºáá»á¬ážááᯠáááºááŸááºááŒááºážá
á¡áááºáá±ážáá¬ážáá±á¬ ááá¯ááºááᯠááááºážáááºážáá«á myscript
ááŸáá·áº bash script ááá¯áááºáá®ážááŒááºážá¡áá¯ááºáááºááŒá®ážáá¯áá®ážáá«ážááŒá
áºáááºá á¡áᯠáá»ááºáá¬á¡á¬ážáá¯á¶ážá áá®ááá¯ááºááᯠexecutable áá¯ááºáá¬ážááá¯á·áá²á ááá¯ááºááẠá¡á²áá«ááᯠrun ááá¯á·ááŒáá¯ážá
á¬ážááẠerror ááŒá¯á¶ááááá·áºáááºá Permission denied
.
ááŸá¬ážááœááºážá
áœá¬ á
á®á
ááºáááºááŸááºáá¬ážáá±á¬ ááœáá·áºááŒá¯áá»ááºáá»á¬ážááŒáá·áº áá¬ááºááœáŸááºážááá¯ááºááᯠááœáá·áºááẠááŒáá¯ážá
á¬ážáá±áá«áááºá
ááá¯ááºááᯠexecutable áá¯ááºáá¡á±á¬ááºá
chmod +x ./myscript
ááᯠáááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááŒáá¯ážá á¬ážááŒáá«á áá¯á·á
./myscript
ááœáá·áºááŒá¯áá»ááºáá»á¬ážááᯠáááºááŸááºááŒá®ážáá±á¬áẠá¡áá¬á¡á¬ážáá¯á¶ážááẠáá¯ááºáá±á¬ááºááá·áºááá·áºá¡ááá¯ááºáž áá¯ááºáá±á¬ááºáááºá
bash script ááᯠá¡á±á¬ááºááŒááºá
áœá¬ áá¯ááºáá±á¬ááºáá±áá«áááºá
áááºáá±á·ááºá»ááœááºááŸáááŒááºážá
á
á¬áá¬ážááᯠLinux ááœááºááá¯ážááºááá¯á· áá¯ááºáá±ážáááºá á¡áááá·áºááᯠá¡áá¯á¶ážááŒá¯áá«á echo
. á€á¡áá»ááºááᯠááááŸááá¬ážáááºá¡á±á¬áẠá¡áá¯á¶ážááŒá¯á áá»áœááºá¯ááºááá¯á·á áá¬ááºááœáŸááºážááᯠáááºážááŒááºááŒáá«á
áá¯á·á áááºážááœáẠáá«ááŸáááŒá®ážáá¬áž commands áá»á¬ážá០ááœááºááŸááá¬áá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠááŸááºážáááºážáá»ááºáá±á«ááºážááá·áºááŒáá«á
áá¯á·á
#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami
á¡ááºááááºáá¯ááºáá¬ážáá±á¬ script ááᯠrun ááŒá®ážáá±á¬áẠáááºážááẠááŒá áºáá»ááºáááºá
áá¬ááºááœáŸááºážáá
áºáá¯á០áááºáá±á·áá»áºáá»á¬ážááᯠáá¯ááºááŒááºážá
ááᯠáá»áœááºá¯ááºááá¯á·ááẠcommand ááá¯á¡áá¯á¶ážááŒá¯á ááŸááºážáááºážáá»ááºááŸááºá
á¯áá»á¬ážááᯠááŒáááá¯ááºááŒá®ááŒá
áºáááºá echo
. Linux áááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºáá
áºáá¯ááᯠáááºážááŒááºáááºážááᯠááááá«áá ááá¯á·ááá¯áẠááẠááááºá command ááᯠáááŒááºáá°ážáá«á echo
ááŒáá·áºáá«á
Variables áá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá
Variables áá»á¬ážááẠááá·áºá¡á¬áž á¡ááŒá¬ážáá±á¬ command áá»á¬ážááŒáá·áº á¡áá¯á¶ážááŒá¯áááºá¡ááœáẠcommands áá»á¬ážá ááááºáá»á¬ážáá²á·ááá¯á·áá±á¬ script file ááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážááá¯ááºá á±áá«áááºá
áááºážááá¯á·áááááºáá»á¬ážááá¯ááááºážáááºážááŒááºážáááŸááá²áá áºáŠážáá»ááºážá á® command áá»á¬ážááá¯áá¯ááºáá±á¬ááºáá¬ááœááºá¡ááŸá¬ážá¡ááœááºážáááŸááá±á¬áºáááºážá á€áááºážáááºážáááºáááºážáá áœááºážáááºáá»á¬ážááœááºá¡áá±á¬áºáá±ážááá·áºáááºáá¬ážáááºá
bash scripts áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬ variable ááŸá áºáá»áá¯ážááŸááá«áááºá
- áááºáááºážáá»áẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬áž
- User Variables
áááºáááºážáá»áẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬áž
áá áºáá«áá áºáá¶ááœáẠshell command áá»á¬ážááẠá¡áá»áá¯á·áá±á¬ system data áá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºááẠááá¯á¡ááºáááºá á€áááºááŸá¬ áááºááŸáá¡áá¯á¶ážááŒá¯áá°á áááºááááºážááœáŸááºááᯠááŒááááºáž á¥ááá¬áá áºáá¯ááŒá áºáááºá
#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"
system variable ááᯠáá¯á¶ážááá¯ááºáááºááᯠáááááŒá¯áá«á $HOME
ááá¯ážáá¬ážááŸá
áºáááºááŒáá·áºá áááºážááẠá
áá
áºá¡á¬áž á¡ááá¡ááŸááºááŒá¯ááŒááºážá០áá¬ážáá®ážáááºááá¯ááºáá«á á¡áááºáá±á¬áºááŒáá« á¡ááŒá±á¡áá±áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá«á á€á¡áá¬ááẠáááºáááŸááááºááŒá
áºáááºá
áá¬ááºááœáŸááºážáá
áºáá¯ááŸá áááºáááºážáá»ááºááŒá±á¬ááºážáá²ááŸá¯á¡á¬áž á¡áá¯á¶ážááŒá¯ááŒááºážá
áááºáá¬ážááŒááºáá±á«áºááœáẠáá±á«áºáá¬ááœá±áááºá¹áá±áááŒááẠááá¯á¡ááºáá«á á¡áááºáááºážá áá«ááᯠá ááºážááŒáá·áºáá¡á±á¬ááºá
echo "I have $1 in my pocket"
á
áá
áºááẠááá¯ážáá¬ážáá¬ážáá±á¬ á
á¬ááŒá±á¬ááºážáá
áºáá¯ááœáẠáá±á«áºáá¬ááœá±áááºá¹áá±áááᯠááŸá¬ááœá±ááœá±á·ááŸáááŒá®áž ááááºážááŸááºáá
áºáá¯ááᯠááá¯ážáá¬ážáá¬ážáááºáᯠáá°ááá«áááºá áá¬ááºááœáŸááºážááẠáááºááŸááºááá¬ážáá±á¬ ááááºážááŸááºááááºááá¯ážááᯠááŒáááẠááŒáá¯ážá
á¬ážáááºááŒá
áºáááºá $1
. á€áááºááŸá¬ áá»áœááºá¯ááºááá¯á· ááá¯á¡ááºáááºááá¯ááºá áá¬áá¯ááºááá²?
á€á¡ááŒá±á¡áá±ááœááºá áá±á«áºáá¬ááœá±áááºá¹áá±ááááŒáá®á á¡ááœááºá á¬áá¯á¶ážá backslash ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº-
echo "I have $1 in my pocket"
áá¬ááºááœáŸááºážááẠááá¯áá»áŸá±á¬áºááá·áºáá¬ážááá·áºá¡ááá¯ááºáž ááœááºááŸááá¬áááºááŒá áºáááºá
áá±á«áºáá¬ááœá± áááºá¹áá±áááᯠááá¯ááºááŸáááºááẠááœááºááŒá±á¬ááºááŸá¯ á¡á
á®á¡á
ááºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
User Variables
áááºáááºážáá»áẠááááºážááŸááºáá»á¬ážá¡ááŒáẠbash script áá»á¬ážááẠááá·áºá¡á¬áž script ááœáẠááá·áºááá¯ááºááá¯áẠvariable áá»á¬ážááᯠáááºááŸááºááŒá®áž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá script ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááŒá®ážááá»ááºáž ááá¯ááá¯á·áá±á¬ variable áá»á¬ážááẠáááºááá¯ážáá áºáá¯ááŸááá±áá«áááºá
á
áá
áºááááºážááŸááºáá»á¬ážáá²á·ááá¯á·áááºá á¡áá¯á¶ážááŒá¯áá° variable áá»á¬ážááᯠáá±á«áºáá¬ááœá±áááºá¹áá±áááŒáá·áº áááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºáááº-
TNW-CUS-FMP - áá»áœááºá¯ááºááá¯á·ááááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœáẠ10% áá»áŸá±á¬á·á
á»á±ážá¡ááœáẠáááá¯ááá¯áá¯ááºááᯠ7 áááºá¡ááœááºáž á
áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááº
#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"
ááá¯ááá¯á·áá±á¬ áá¬ááºááœáŸááºážááᯠá¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬áẠá€á¡áá¬ááẠááŒá áºáá»ááºáááºá
Script áá
áºáá¯ááŸá á
áááºááŒáá¯ááºááŒá±á¬ááºážááœá²ááŸá¯áá»á¬áž
Command á¡á á¬ážááá¯ážááŒááºážá
bash scripts áá»á¬ážáá¡áá¯á¶ážáááºáá¯á¶ážá¡ááºá¹áá«áááºáá»á¬ážáá²ááŸáá áºáá¯ááŸá¬ command output ááŸá¡áá»ááºá¡áááºáá»á¬ážááá¯áá¯ááºáá°ááá¯ááºááŒá®áž variables áá»á¬ážáá®ááá¯á·áááºááŸááºáá±ážááŒááºážááŒáá·áºá€á¡áá»ááºá¡áááºááᯠscript file ááœááºáááºááá·áºáá±áá¬ááœááºáááá¯á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
áá®ááá¯áá¯ááºááá¯á· áááºážáááºážááŸá áºáá¯ááŸááá«áááºá
- "`" ááá¯ááºááᯠá¡áá¯á¶ážááŒá¯á
- áá®ááá¯ááºážá¡á¬ážááŒáá·áº
$()
ááááááºážáááºážááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á backtick ááá±áá¬ááœáẠquotation mark áá áºáá¯áááºážáááá·áºááá á±ááẠááááá¬ážáá«á á¡áááá·áºááᯠááá¯áá²á·ááá¯á·áá±á¬ áááºá¹áá±áááŸá áºáá¯ááœáẠááá·áºááœááºážáá¬ážááááº-
mydir=`pwd`
áá¯ááá áá»ááºážáááºááŸá¯ááœááºá á€áá²á·ááá¯á· áá±ážáá¬ážáááºá
mydir=$(pwd)
ááŒá®ážáá±á¬á· áá¬ááºááœáŸááºážá áá®ááá¯áá¯á¶á á¶áá²á· á¡áá¯á¶ážáááºááœá¬ážááá¯ááºáááºá
#!/bin/bash
mydir=$(pwd)
echo $mydir
áááºážáá
á
áºáááºáá±ážá¡ááœááºáž, á¡áááá·áºá output ááᯠpwd
variable ááœáẠááááºážáááºážáááºááŒá
áºáááºá mydir
command ááᯠá¡áá¯á¶ážááŒá¯á ááá±á¬ á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá echo
, console ááá¯ááœá¬ážáá«áááá·áºáááºá
variable áá
áºáá¯ááœáẠcommand áá
áºáá¯áááááºáá»á¬ážááá¯ááááºážáááºážáá±á¬ script áá
áºáá¯
áááºá¹áá»á¬á á áºáááºáá±áž
script ááá¯ááºáá
áºáá¯ááœáẠáááºá¹áá»á¬ááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá áá²á·ááá¯á·áá±á¬ áááºáá±á¬ááºááŸá¯ááᯠáááºáá¯á¶ážááá¯ááºáááºá $((a+b))
:
#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2
Script áá
áºáá¯ááœáẠáááºá¹áá»á¬ááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬áž
if-then control áááºáá±á¬ááºááŸá¯
á¡áá»áá¯á·áá±á¬á¡ááŒá±á¡áá±áá»á¬ážááœááºá áááºááẠcommand execution á
á®ážáááºážááŸá¯ááᯠááááºážáá»á¯ááºáááºááá¯á¡ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá»áá¯á·áá±á¬áááºááá¯ážááẠáá«ážáá¯ááẠááŒá®ážáá«áá áááºááẠáá¯ááºáá±á¬ááºááŸá¯áá
áºáá¯á ááá¯ááºáá«á áá±á¬ááºáá
áºáá¯áá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááºá á€á¡áá¬ááẠá¡ááŒá±á¡áá±áá»á¬ážá
áœá¬ááœáẠáááºááá¯ááºááŒá®áž á€áá±áá¬ááœáẠááááºážáá»á¯ááºááŸá¯áá¯á¶á
á¶á áá»áœááºá¯ááºááá¯á·ááᯠáá°áá®áá±ážáá«áááá·áºáááºá if-then
. áááºážáá¡ááá¯ážááŸááºážáá¯á¶ážáá¯á¶á
á¶ááœááºáááºážáááºá€áá²á·ááá¯á·áá±á¬áá¯á¶ááááºá
if кПЌаМЎа
then
кПЌаМЎÑ
fi
áá«á á¡áá¯ááºááá°áá¬áá áºáá¯áá«á
#!/bin/bash
if pwd
then
echo "It works"
fi
á€ááá
á¹á
ááœááºáá¯ááŸá
áº, á¡áááá·áºááá¯ááœááºáá»ááºáá¶ááá»áŸáẠpwd
á¡á±á¬ááºááŒááºá
áœá¬ááŒá®ážááŒá±á¬ááºáááºá âit workâ áá°áá±á¬ á
á¬áá¬ážááᯠááœááºááá¯ážááºááœáẠááŒááááºááŒá
áºáááºá
áá»áœááºáá±á¬áºááá¯á·ááŸá¬ ááŸááá²á· á¡ááááá¬ááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž ááá¯ááŸá¯ááºááœá±ážáá²á· áá¬ááºááœáŸááºážáá
áºáá¯ááᯠáá±ážááá¯ááºááŒáá¡á±á¬ááºá á¡áá¯á¶ážááŒá¯áá°á¡áá»áá¯á·ááᯠááŸá¬ááœá±ááẠááá¯á¡ááºáááºááá¯áá«á
áá¯á· /etc/passwd
áááºážááᯠáááºááŸá¬ááœá±ááá¯ááºáá»áŸáẠáááºážáááºááŸáááŒá±á¬ááºáž ááááºážááá¯á·áá«á
#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi
á€áá¬ááºááœáŸááºážááᯠá¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬áẠá€á¡áá¬ááẠá¡áááºáááºážá
á¡áá¯á¶ážááŒá¯áá°ááŸá¬ááœá±ááŸá¯
á€ááœááºáá»áœááºá¯ááºááá¯á·ááẠcommand ááá¯á¡áá¯á¶ážááŒá¯áááºá grep
ááá¯ááºáá
áºáá¯ááœáẠá¡áá¯á¶ážááŒá¯áá°áá
áºáŠážááᯠááŸá¬ááœá±ááẠ/etc/passwd
. á¡áááºâá grep
áááºááŸáá·áºááááºážááŸá®ážáá±á¬á áááºážááá±á¬áºááŒáá»ááºááᯠááœá±á·ááŸáááá¯ááºáááºá
á€á¥ááá¬ááœááºá á¡áá¯á¶ážááŒá¯áá°ááᯠááœá±á·ááŸááá«áá script ááẠáááºááá¯ááºáᬠáááºáá±á·áá»áºááᯠááŒááááºááŒá áºáááºá á¡áá¯á¶ážááŒá¯áá°ááᯠááŸá¬áááœá±á·áá«á áá¬ááŒá áºááá²á á€ááá á¹á ááœááºá áá¬ááºááœáŸááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá¬ááŸáááŒá±á¬áá² ááá¯ážááŸááºážá áœá¬ ááŒá®ážááŒá±á¬ááºá á±áááºááŒá áºáááºá áá«ááá¯áááºáž áá°á ááŒá±á¬ááŒáá±ážáá»ááºáá«áááºá áá«ááŒá±á¬áá·áº áá¯ááºááᯠááŒáŸáá·áºáááºáááºá
if-then-else ááááºážáá»á¯ááºáááºáá±á¬ááºááŸá¯
áááá¯ááááºááẠá¡á±á¬ááºááŒááºáá±á¬ááŸá¬ááœá±ááŸá¯ááŸáá·áº áá»ááŸá¯á¶ážááŸá¯ááááºááŸá
áºáá¯áá¯á¶ážááᯠá¡á
á®áááºáá¶ááá¯ááºá
á±áááºá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá
áºáááºá if-then-else
. áá«á áááºááá¯á¡áá¯ááºáá¯ááºáá²-
if кПЌаМЎа
then
кПЌаМЎÑ
else
кПЌаМЎÑ
fi
ááá command ááẠáá¯áááá¯á· ááŒááºááœá¬ážáá«áá ááá¯ááá¯áááºááŸá¬ áááºážááᯠá¡á±á¬ááºááŒááºá
áœá¬ áá¯ááºáá±á¬ááºááŒá®ážááŒá®áᯠááá¯ááá¯áááºááŸá¬á á¡ááŒá±á¡áá±ááẠááŸááºáááºááŒá
áºááŒá®ážá áá¯ááºáá±á¬ááºáá»ááºááẠáá¬áááœá²áá
áºáá»áŸá±á¬áẠáááºáááºáá¯ááºáá±á¬ááºáááºááá¯ááºáá«á else
. ááá¯ááºáá«áá áá¯áááŸááœá²á á¡ááŒá¬ážáá
áºáá¯áá¯ááᯠááŒááºáá±ážáááºááá¯áá«áá áá»ááºááœááºááŸá¯ ááá¯á·ááá¯áẠááŸá¬ážááœááºážáá±á¬ááááºááᯠááœáŸááºááŒááá·áº ááŒá®ážáá±á¬áẠá¡áááá·áºáá±ážáááºá else
.
á¡á±á¬ááºáá« script ááá¯áá±ážááŒáá«á áá¯á·á
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesnât exist"
fi
áá°á ááœááºáá»ááºááŸá¯ááẠáá±ááŒá±á¬ááºážáá² áá»ááœá¬ážáá²á·áááºá else
.
if-then-else áááºáá±á¬ááºááŸá¯ááŒáá·áº áá¬ááºááœáŸááºážááᯠáá¯ááºáá±á¬ááºááŒááºážá
áá²á ááŸá±á·áááºááŒá®áž ááá¯ááŸá¯ááºááœá±ážáá²á· á¡ááŒá±á¡áá±ááœá±á¡ááŒá±á¬ááºáž ááá¯áá·áºááá¯ááºááᯠáá±ážááŒáá·áºáá¡á±á¬ááºá á¡ááŒá±á¡áá±áá áºáá¯áááºážááá¯ááºáá±á¬áºáááºáž á¡áá»á¬ážá¡ááŒá¬ážá á áºáá±ážááẠááá¯á¡ááºáá«á á¡áááºáááºážá á¥ááá¬á¡á¬ážááŒáá·áºá ááá¯áá»ááºáá±á¬á¡áá¯á¶ážááŒá¯áá°ááá¯ááœá±á·ááŸááá«áá áááºáá±á·áá»áºáá áºáá¯ááŒáááá·áºáááºá á¡ááŒá¬ážá¡ááŒá±á¡áá±á¡áá»áá¯á·ááŸáá·áºááá¯ááºáá®áá«áá á¡ááŒá¬ážáááºáá±á·áá»áºááá¯ááŒáááá·áºáááºá á¡á ááŸááááºááá¯á·ááá¯ááŒáááá·áºáááºá ááá¯ááá¯á·áá±á¬á¡ááŒá±á¡áá±áá»áá¯ážááœááºá á¡ááá¯ááºá¡ááŒá¯á¶á¡ááŒá±á¡áá±áá»á¬ážá áá»áœááºá¯ááºááá¯á·ááᯠáá°áá®áá«áááá·áºáááºá á€áá¯á¶áááº-
if кПЌаМЎа1
then
кПЌаМЎÑ
elif кПЌаМЎа2
then
кПЌаМЎÑ
fi
ááá command ááẠáááºážá á¡á±á¬ááºááŒááºáá±á¬ áá¯ááºáá±á¬ááºááŸá¯ááᯠááœáŸááºááŒááá·áº áá¯áááá¯á· ááŒááºááœá¬ážáá«áá ááá block á¡ááœááºážááŸá command áá»á¬ážááᯠáá¯ááºáá±á¬ááºáááá·áºááẠthen
ááá¯á·ááá¯ááºáá«áá áááá¡ááŒá±á¡áá±ááẠááŸá¬ážááœááºážáá±ááŒá®áž áá¯áááá¡áááá·áºááẠáá¯áááá¯á·ááŒááºááœá¬ážáá«áá áá¯ááááá¯ááºáááááºááá¯á·ááŒááºážááᯠáá¯ááºáá±á¬ááºáááºááŒá
áºáááºá
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesnât exist but anyway there is a directory under /home"
fi
ááá¯ááá¯á·áá±á¬ script ááœááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠcommand ááá¯á¡áá¯á¶ážááŒá¯á á¡áá¯á¶ážááŒá¯áá°á¡áá
áºááá¯áááºáá®ážááá¯ááºáááºá useradd
á¡áááºá ááŸá¬ááœá±ááŸá¯ááááºáá»á¬áž áááœááºáá¬áá«á ááá¯á·ááá¯áẠá¡ááŒá¬ážá¡áá¯á¶ážáááºáá±á¬ á¡áá¬áá
áºáá¯ááᯠááŒá¯áá¯ááºáá«á
ááááºážááááºážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážá
Script áá»á¬ážááœáẠááááºážáááºááá¯ážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááá¯ááºáááºá á¡á±á¬ááºááœáẠáááºááá¯ááºáᬠcommand áá»á¬ážá á¬áááºážááŒá áºáá«áááºá
n1 -eq n2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºán1
ááŒá áºn2
.
n1 -ge n2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºán1
ááá¯á ááá¯á·ááá¯áẠáá°áá®áááºán2
.
n1 -gt n2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºán1
ááá¯ááŒá®ážáá²á·n2
.
n1 -le n2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºán1
áááºážááẠááá¯á·ááá¯áẠáá°áá®áááºán2
.
n1 -lt n2
n1 áááºáááºážáá«á á¡ááŸááºááŒááºááŒá áºááœá¬ážáááºán2
.
n1 -ne n2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºán1
áááºážáá°ááá¯ááºn2
.
á¥ááá¬á¡áá±áá²á·á ááŸáá¯ááºážááŸááºá¡á±á¬áºááá±áá¬ááœá±áá²á áá áºáá¯ááᯠá ááºážááŒáá·áºáá¡á±á¬ááºá á áá¬ážáááºááᯠá áá¯áááºážááœááºážá ááœááºáá»á¬ážááŒáá·áº ááá·áºááœááºážáá¬ážááŒá±á¬ááºáž áááááŒá¯áá«á
#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi
áá«á áá® command ááœááºáá¬áááá·áºáááºá
Script áá»á¬ážááœáẠáá¶áá«ááºáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážá
ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬áááºááá¯áž val1
5 áááºááŒá®ážáá«á áá¬áááœá²ááẠá¡áá¯á¶ážá
á®áááºááŒááºážáá¶ááááºá then
ááŸáá¯ááºážááŸááºá¡á±á¬áºááá±áá¬ááŸáá·áº áááºááá¯ááºáᬠáááºáá±á·áá»áºááᯠááœááºááá¯ážááºááœáẠááŒááá¬ážáááºá
ááŸáá¯á·ááŸáá¯ááºáž
Script áá»á¬ážááẠá á¬ááŒá±á¬ááºážáááºááá¯ážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááá¯ááºáááºá ááŸáá¯ááºážááŸááºá¡á±á¬áºááá±áá¬áá»á¬ážááẠááá¯ážááŸááºážáá±á¬áºáááºáž string comparison áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááœáẠá¡áá»áá¯á·áá±á¬á¡ááºá¹áá«áááºáá»á¬ážááŸááááºá á¡á±á¬ááºááœááºáá»áœááºá¯ááºááá¯á·ááááá¯ááºáá«áááºá á€áááºááŸá¬ á¡á±á¬áºááá±áá¬áá»á¬ážá á¬áááºážááŒá áºáááºá
str1 = str2
áá»á¥áºážáááºážáá»á¬áž áá°áá®áá«á áááºážáá°áá®áá»áŸááŸá¯á¡ááœáẠá ááºážáááºááŸá¯áá»á¬ážá á á áºááŸááºááŒá±á¬ááºáž ááŒááºáá±ážáááºá
str1 != str2
á á¬ááŒá±á¬ááºážáá»á¬áž áááºáá°ááá»áá«á ááŸááºáá«áááºá
str1 < str2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºástr1
áááºáááºáá±á¬str2
.
str1 > str2
ááŸááºáá»áŸáẠááŒááºáá±ážáááºástr1
áááºááá¯ááŒá®ážstr2
.
-n str1
á¡áá»á¬ážááŸááºáá»áŸáẠááŒááºáá±ážáááºástr1
áá¯áá¡áááºá
-z str1
á¡áá»á¬ážááŸááºáá»áŸáẠááŒááºáá±ážáááºástr1
áá¯áááŸáá·áº áá®áá»áŸáááºá
á€áááºááŸá¬ áá¬ááºááœáŸááºážáá áºáá¯ááŸá á á¬ááŒá±á¬ááºážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážá á¥ááá¬áá áºáá¯ááŒá áºáááºá
#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user is the current logged in user"
fi
áá¬ááºááœáŸááºážááᯠáá¯ááºáá±á¬ááºááŒááºážá ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«ááá¯á·ááᯠáááŸááá«áááºá
scripts áá»á¬ážááœáẠstrings áá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážá
áá«ááá±á¬á· ááŸááºáá¬ážááá¯ááºáá²á· string comparison áá²á· á¡ááºá¹áá«áááºáá áºáá¯áá«á ááá¯ááá¯áááºááŸá¬ ">" ááŸáá·áº "<" á¡á±á¬áºááá±áá¬áá»á¬ážááẠbackslash ááŒáá·áº ááœááºááŒá±á¬ááºááááºá ááá¯ááºáá«á á¡ááŸá¬ážá¡ááœááºáž áááºáá±á·áá»áºáá»á¬áž áá±á«áºáá¬áááºááá¯ááºáá±á¬áºáááºáž script ááẠááŸááºáááºá áœá¬ á¡áá¯ááºááá¯ááºáá«á áá¬ááºááœáŸááºážááẠ">" ááá¯ááºážáá¯ááºááᯠá¡ááœááºááŒááºááœáŸááºááŸá¯ááœáŸááºááŒá¬ážáá»ááºá¡ááŒá Ạáá¬áá¬ááŒááºáá±ážáááºá
á€áááºááŸá¬ á€á¡á±á¬áºááá±áá¬áá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºáá¯á¶ááẠáá¯ááºááœáẠááŒá áºáááº-
#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
á€áááºááŸá¬ áá¬ááºááœáŸááºážáááááºáá»á¬ážááŒá áºáááºá
ááŸáá¯á·ááŸáá¯ááºážá ááááá±ážáá¬ážáááºá
áá¬ááºááœáŸááºážááᯠááœááºáá»ááºáá±á¬áºáááºážá ááááá±ážáá»áẠáá¯ááºáá¬ážááŒá±á¬ááºáž áá»á±ážáá°ážááŒá¯á áááááŒá¯áá«á
./myscript: line 5: [: too many arguments
á€ááááá±ážáá»ááºááᯠáááºááŸá¬ážááẠáá»áœááºá¯ááºááá¯á· áá±á¬ááºáá»ááºáá»áá«áááºá $val2
ááŸá
áºáááºááá¯ážáá¬ážáá»ááºáá»á¬ážááœááº-
#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
á¡áá¯áá±á¬á· á¡á¬ážáá¯á¶ážá áá¯ááºááá·áºááá±á¬ááºáá¯ááºáááºá
ááŸáá¯á·ááŸáá¯ááºáž
">" ááŸáá·áº "<" á¡á±á¬áºááá±áá¬áá»á¬ážá áá±á¬ááºáááºáá°ážááŒá¬ážáá»ááºááŸá¬ áááºážááá¯á·ááẠá á¬áá¯á¶ážá¡ááŒá®ážááŸáá·áº á á¬áá¯á¶ážáá±ážáá»á¬ážááŒáá·áº á¡áá¯ááºáá¯ááºáá¯á¶ááŒá áºáááºá á€á¡ááºá¹áá«áááºááᯠáá¬ážáááºáááºá¡ááœáẠá¡á±á¬ááºáá«á¡ááŒá±á¬ááºážá¡áá¬áá«áá±á¬ á á¬áá¬ážááá¯ááºááᯠááŒááºáááºááŒáá«á áá¯á·á
Likegeeks
likegeeks
áá¬áááºáá±ážááŒááºážááŒáá·áº ááááºážáááºážááŒáá«á
áá¯á· myfile
ááá¯á·áá±á¬áẠterminal ááœáẠá¡á±á¬ááºáá« command ááᯠrun áá«á
sort myfile
áááºážááẠá€áá²á·ááá¯á·áá±á¬ ááá¯ááºá០ááá¯ááºážáá»á¬ážááᯠá á®áááº-
likegeeks
Likegeeks
á¡ááœá²á· sort
áá¯á¶áá±á¡á¬ážááŒáá·áºá á
á¬áá¯á¶ážá¡ááŒá®ážá¡áá±ážááᯠá
á®ááŒááºážááŒá
áºáááºá ááá¯ááá¯áááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááá°áá¬ááŸá á
á¬áá¯á¶ážá¡áá±ážááẠá
á¬áá¯á¶ážá¡ááŒá®ážááẠáá±ážáááºáá«áááºá ááᯠáá°áá®áá±á¬á
á¬ááŒá±á¬ááºážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááá·áº áá¬ááºááœáŸááºážááᯠááŒááºáááºááŒáá«á
áá¯á·á
#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
áááºážááá¯áááºá¡áá¯á¶ážááŒá¯áá«áá á¡áá¬á¡á¬ážáá¯á¶ážáááºá¡ááŒá¬ážáááºážáááºážááŒá áºááẠ- á á¬áá¯á¶ážáááºáááºááá¯á á¬áá¯á¶ážááŒá®ážáááºááá¯ááá¯ááŒá®ážáá¬ážáááºá
á¡áá»áá¯ážá¡á
á¬ážááœá²ááŒááºážá¡áááá·áºááŸáá·áº áá¬ááºááœáŸááºážááá¯ááºááŸá á
á¬ááŒá±á¬ááºážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážá
ááŸáá¯ááºážááŸááºááŸá¯á¡áááá·áºáá»á¬ážááœááºá á á¬áá¯á¶ážááŒá®ážáá»á¬ážááẠá á¬áá¯á¶ážáá±ážáá»á¬ážááẠáá±ážáááºáááºá á€áá±áá¬ááœáẠá á¬ááŒá±á¬ááºážááŸáá¯ááºážááŸá¥áºááŸá¯ááẠáá¬ááºáá±á¬ááºáá»á¬ážá ASCII áá¯ááºáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážááŒáá·áº áá¯ááºáá±á¬ááºáááºá ááá¯á·ááŒá±á¬áá·áº á¡áá»áá¯ážá¡á á¬ážá¡á á®á¡á á¥áºááẠáá¬ááºáá±á¬ááºáá¯ááºáá»á¬ážáá±á«áºááœáẠáá°áááºáá«áááºá
á¡ááœá²á· sort
áá
áºáááºá á
áá
áºáá¬áá¬á
áá¬áž áááºáááºáá»á¬ážááœáẠáááºááŸááºáá¬ážááá·áº á¡áá»áá¯ážá¡á
á¬ážááœá²ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áááºá
ááá¯ááºá á áºáá±ážááŸá¯áá»á¬áž
á¡á±á¬ááºáá±á¬áºááŒáá« command áá»á¬ážááᯠbash scripts áá»á¬ážááœáẠá¡áá»á¬ážáá¯á¶ážá¡áá¯á¶ážááŒá¯ááŒááẠááŒá áºááá¯ááºáááºá áááºážááá¯á·ááẠááá·áºá¡á¬áž ááá¯ááºáá»á¬ážááŸáá·áºáááºáááºááá·áº á¡ááŒá±á¡áá±á¡áá»áá¯ážáá»áá¯ážááᯠá á áºáá±ážááœáá·áºááŒá¯áááºá á€áááºááŸá¬ á€á¡áááá·áºáá±á¬áºáá»á¬ážá á¬áááºážááŒá áºáááºá
-d file
ááá¯ááºáá áºáá¯ááŸááááŸáááŸáá·áº áááºážááœáŸááºáá áºáá¯ááŒá áºááŒá±á¬ááºáž á á áºáá±ážáá«á
-e file
ááá¯ááºááŸááááŸá á á áºáá±ážáá«á
-f file
ááá¯ááºáá áºáá¯ááŸááááŸáá ááá¯ááºáá áºáá¯áá¯ááºááá¯áẠá á áºáá±ážáá«á
-r file
ááá¯ááºááŸááááŸá á á áºáá±ážááŒá®áž áááºááá¯á· ááá«áááºá
-s file Ð
ááá¯ááºááŸááááŸá á á áºáá±ážááŒá®áž ááá¬ááá«áá«á
-w file
ááá¯ááºááŸááááŸá á á áºáá±ážááŒá®áž áá±ážááá¯ááºááá¬ážá
-x file
ááá¯ááºááŸááááŸá á á áºáá±ážááŒá®áž áááºáááºááá¯ááºáá«ááá¬ážá
file1 -nt file2
ááá¯áá áºááá¬áž á á áºááŒáá·áºáá«áfile1
áááºfile2
.
file1 -ot file2
á¡áááºááŒá®ážááẠá á áºáá±ážáááºáfile1
áááºfile2
.
-O file
ááá¯ááºááŸááááŸá á á áºáá±ážááŒá®áž áááºááŸáá¡áá¯á¶ážááŒá¯áá°á ááá¯ááºááá¯ááºááŒááºážááŸááááŸá á á áºáá±ážáá«á
-G file
ááá¯ááºááŸááááŸáááŸáá·áº áááºážáá¡ááœá²á· ID ááẠáááºááŸáá¡áá¯á¶ážááŒá¯áá°á á¡á¯ááºá ᯠID ááŸáá·áº ááá¯ááºáá®ááŸá¯ááŸááááŸá á á áºáá±ážáá«á
á€á¡áááá·áºáá±á¬áºáá»á¬ážá¡ááŒáẠááá±á·ááœá±ážááœá±ážáá²á·ááá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬ááá¯áááºáž ááŸááºáá¬ážáááœááºáá°áá«áááºá á¡áá»áá¯ážáá»áá¯ážáá±á¬ á áá¬ážáá¯á¶ážáá»á¬ážá á¡ááá¯áá±á¬ááºáá»á¬ážááŒá áºáá±á¬ áááºážááá¯á·áá¡áááºáá»á¬ážááẠáááºážááá¯á·áá¯ááºáá±á¬ááºááá·áº á á áºáá±ážááŸá¯áá»á¬ážááᯠááá¯ááºááá¯ááºááœáŸááºááŒáá«áááºá
áááºááœá±á·ááœáẠcommand áá»á¬ážáá²á០áá áºáá¯ááᯠá ááºážááŒáá·áºáá¡á±á¬ááºá
#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi
ááŸáááŒá®ážáá¬ážáááºážááœáŸááºáá áºáá¯á¡ááœááºá á€áá¬ááºááœáŸááºážááẠáááºážáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááŒááááºááŒá áºáááºá
áááºážááœáŸááºáá
áºáá¯á á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáá±á¬áºááŒááŒááºážá
áá»ááºááŸááá±á¬ command áá»á¬ážááᯠáááºááá¯ááºááá¯áẠá ááºážáááºááá¯ááºáááºáᯠáá»áœááºá¯ááºááá¯á·áá¯á¶ááŒááºáááºá áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠáá°áá®áá±á¬áááá¬áá¡á á¡áá¯á¶ážááŒá¯áá«áááºá
ááááºáá»á¬ážááá¯
áá®áá±á·ááŸá¬ bash script ááœá±ááᯠáááºááá¯á áááºáá±ážáá¬ážáááá²ááá¯áá¬áá²á· á¡ááŒá±áá¶á¡ááŒá±á¬ááºážá¡áá¬á¡áá»áá¯á·ááᯠááœá±ážááœá±ážáá²á·áá«áááºá ááááºáá±á¬á· bash programming áá²á· topic á ááŒá®ážáá¬ážáá«áááºá á€áá±á¬ááºážáá«ážááẠááá¹áá¯ááᯠáá á¡á¯ááºá áááááá¯ááºážááᯠáá¬áá¬ááŒááºáá¬ážááŒááºáž ááŒá áºáááºá ááá¯áááºáááºáá¯ááºáá±á¬ááºááá¯áá«á á€áá á¹á ááºážáá»á¬ážááá°áááºážá á¬áááºážááŒá áºáááºá á¡áááºááŒá±á á±áááºá¡ááœáẠáááºáááºááá¯ááºáá±á¬ áá¬áá¬ááŒááºááᯠá€áá±áá¬ááœáẠááá·áºááœááºážáá¬ážáá«áááºá
Bash Script á¡ááá·áºááá·áº â á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠbash scripts áá»á¬ážááá¯áááºáá®ážáá¯á¶á¡ááŒá±á¬ááºážááŒá±á¬áá±áááºá ááááºážááŸááºáá»á¬ážá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠááá·áºááœááºážá ááºážá á¬ážáááºá á¡ááŒá±á¡áá±ááá¯ááºáá¬ááœá²á·á ááºážáá¯á¶áá»á¬ážá ááœááºáá»ááºááŸá¯áá»á¬ážá áá¶áá«ááºáá»á¬ážá á á¬ááŒá±á¬ááºážáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážááŸáá·áº ááá¯ááºáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºááŸá¬ááœá±ááŒááºážááá¯á·ááᯠáá±á¬áºááŒáá¬ážáá«áááºáBash Scripting á¡ááá¯ááºáž 2á Bash the awesome â á€áá±áá¬ááœáẠloops ááŸáá·áº á¡áá»áááºááŸáá·áºáááŒá±ážáá® áá¯ááºáá±á¬ááºááŒááºážáá¡ááºá¹áá«áááºáá»á¬ážááᯠáááºááŸá¬ážá á±áááºáBash Scripting á¡ááá¯ááºáž 3á ááá·áºáááºáá»ááºáá»á¬áž & ááœá±ážáá»ááºá áá¬áá»á¬áž â á€áá á¹á ááºážááᯠá¡áá¯á¶ážááŒá¯áá°áááºáá±á¬ááºááá·áºáá±áá¬ááŸáá·áºá¡áá¯ááºáá¯ááºááŒá®áž ááá¯ááºáá»á¬ážááŸáááºááŸá¯ááá¯ááºáá±á¬ scripts áá»á¬ážááá¯á·áá±ážááá¯á·ááá¯ááºáá±á¬ command line parameters áá»á¬ážááŸáá·áº keys áá»á¬ážá¡ááœááºááŒáŸá¯ááºááŸá¶áá¬ážáááºáBash Scripting á¡ááá¯ááºáž 4á Input & Output - á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠááá¯ááºáá±á¬áºááŒáá»ááºáá±ážáá°áá»á¬ážá¡ááŒá±á¬ááºáž ááŒá±á¬ááá¯áá±ááŒá®áž áááºážááá¯á·ááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá¡ááŒá±á¬ááºážá á¡áááºá á¡ááœááºá á¡ááŸá¬ážá á®ážááŒá±á¬ááºážáá»á¬ážááŸáá·áº á¡ááœááºáááºážááŒá±á¬ááºážááŒááºááœáŸááºážááŒááºážá¡ááŒá±á¬ááºážáBash Scripting á¡ááá¯ááºáž 5á Sighals & Jobs â á€áá á¹á ááºážááᯠLinux á¡áá»ááºááŒááŸá¯áá»á¬ážá scripts áá»á¬ážááœáẠáááºážááá¯á·á áá¯ááºáá±á¬ááºááŸá¯ááŸáá·áº scripts áá»á¬ážááᯠá¡áá»áááºááá¬ážá¡ááá¯ááºáž á áááºááŒááºážá¡ááœáẠááŸá®ááá¯áá«áááºáBash Scripting á¡ááá¯ááºáž 6á áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž â á€áá±áá¬ááœáẠscripts áá»á¬áž áááºáá®ážááŒááºážááŸáá·áº á¡áá¯á¶ážááŒá¯ááŒááºážááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº á á¬ááŒáá·áºááá¯ááºáá»á¬áž áááºáá®ážááŒááºážá¡ááŒá±á¬ááºáž áá±á·áá¬ááá¯ááºáá«áááºáBash Scripting á¡ááá¯ááºáž 7á sed ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá â á€áá±á¬ááºážáá«ážááẠsed streaming á á¬áá¬ážáááºážááŒááºáá°ááŸáá·áº áá¯ááºáá±á¬ááºááẠáááºááœááºáá«áááºáBash Scripting á¡ááá¯ááºáž áá awk ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá â á€áá á¹á ááºážááᯠawk data processing language ááŒáá·áº áááá¯ááááºáá±ážááŒááºážá¡ááœáẠááŸá®ááá¯áááºáBash Scripting á¡ááá¯ááºáž 9á áá¯á¶ááŸááºáá±á¬áºááŒáá»ááºáá»á¬áž â bash scripts áá»á¬ážááœáẠáá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá¡ááŒá±á¬ááºáž á€áá±áá¬ááœáẠáááºáááºááŸá¯ááá¯ááºáá«áááºáBash Scripting á¡ááá¯ááºáž 10á áááºááœá±á·ááá°áá¬áá»á¬áž â á€áááºááŸá¬ áá¯á¶ážá áœá²áá°áá»á¬ážáᶠáá±ážááá¯á·ááá¯ááºááá·áº áááºáá±á·áá»áºáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºááẠáááºážááá¬áá»á¬ážá¡ááŒáẠáá áºááºááᯠá á±á¬áá·áºááŒáá·áºááŒááºážá¡ááœáẠáááºážáááºážáá áºáá¯ááŒá áºáááºáBash Scripting á¡ááá¯ááºáž 11á Expect Command â á€á¡áá¬á¡á¬áž áááºá¡ááŒááºá¡ááŸááºáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ utilities áá»á¬ážááŒáá·áº á¡ááá¯á¡áá»á±á¬ááºá¡ááŒááºá¡ááŸááºáá¯ááºáá±á¬ááºááá¯ááºááá·áº Expect tool á¡ááœáẠáááºááœááºáá«áááºá á¡áá°ážáááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áŸá±á¬áºááá·áºáá¬ážáá±á¬ scripts áá»á¬ážááŸáá·áº bash scripts áá»á¬ážááŸáá·áº á¡ááŒá¬ážáá±á¬ áááá¯ááááºáá»á¬ážááŸáá·áº áááºážááá¯á·á á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž ááŒá±á¬áá±áá«áááºá
á€áá±á¬ááºážáá«ážá á®ážáá®ážáá»á¬ážá á¡ááá¯ážáááºáá±á¬á¡ááºá¹áá«áááºáá»á¬ážáá²á០áá áºáá¯ááẠá¡ááá¯ážááŸááºážáá¯á¶ážááŒá áºááŒá®áž áááºááá·áºá¡ááá·áºá¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœáẠááá·áºáá»á±á¬áºáááºááŸá áááºáᬠáááºážááẠáá°ááá¯ááºážááᯠLinux command line scripts áá»á¬ážáááºáá®ážáá¬ááœáẠááá¯ážáááºáááºá¡ááœáá·áºá¡áá±ážáá±ážáᬠá¡áá±á¬áºáá±ážáá±ážáááºáá±á¬á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážáá®ááá¯á· áááŒááºážááŒááºážáŠážáááºáá¬áááºáᯠáá»áœááºá¯ááºááá¯á·áá¯á¶ááŒááºáá«áááºá .
áá»á áºááŸá áœá¬áá±á¬á á¬áááºáá°áá»á¬ážá bash áááá¯ááááºážáááºážáá¯áá¯áá»á¬ážá¡á¬áž áááºážááá¯á·á áá»áœááºážáá»ááºááŸá¯ á¡ááœááºá¡ááááºááá¯á· áá±á¬ááºááŸááá¯á¶á áááºážááá¯á·á áá»áŸáá¯á·ááŸááºáá»ááºáá»á¬ážááᯠáá»áŸáá±áááºá áááºážááá¯á·á ááááá¯á¶áž áá¬ááºááœáŸááºážáá±ážááŒá®ážáá±á¬ áá°áá»á¬ážáá¶á០á¡áááºááŒá®ážá áá¬áá»á¬ážááᯠáááŸáááá¯ááºá á±ááẠáá»áœááºá¯ááºááá¯á· áá»áŸá±á¬áºááá·áºáá«áááºá
á
á¬áááºážááœááºážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážáᬠá
á
áºáááºážááœáẠáá«áááºááá¯ááºáá«áááºá
á á®ážáá®ážááá»ááºáá±á¬ááºážáá«ážáá»á¬ážááᯠáá¬áá¬ááŒááºááá·áºáá«ááá¬ážá
-
áá¯ááºáá²á·!
-
áááá¯áá«áá°ážá
á¡áá¯á¶ážááŒá¯áá° 1030 áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 106 ááŸá±á¬ááºáá±áá²á·áá«áááºá
source: www.habr.com