SlideShare a Scribd company logo
1 of 66
Download to read offline
https://github.com/syaifulahdan/os-practice|Operating System Practice | 1 to 66
OPERATING SYSTEMS PRACTICE
Shell Programming
Practice : 6A

Shell Programming
https://github.com/syaifulahdan/os-practice|Operating System Practice | 2 to 66
A. Objectives
1. Learn the basic elements of a shell script.
2. Create an interactive shell program.
3. Using parameters in the program.
4. Studying test conditions as well as logic operators associated
with test instructions
5. Know the built-in variables of the shell.
6. Create an app with a shell using if-then-else construction.
7. Using case - esac structure.
8. Loop with while, for, do while.
9. Create a function and know how to call the function.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 3 to 66
B. Basic Theory
https://github.com/syaifulahdan/os-practice|Operating System Practice | 4 to 66
The shell script is created with a text editor (ASCII editor)
and is generally assigned an ".sh" extension.
The script always starts with a comment, which starts with
the # sign, connected with! and the name of the shell
used.
#!/bin/sh (1)
# Program shell (2)
#
var1=x (2)
var2=8
1. SHELL SCRIPT
https://github.com/syaifulahdan/os-practice|Operating System Practice | 5 to 66
Beginning of the shell program, this initial
comment will be read by the system, then the
system activates the shell progra (/bin /sh)
listed on it. Shell programs can be selected, for
example / bin / csh, / bin / ksh and others
(1)
Is a comment, as a documentation, this line
will be ignored by the shell program
(2)
The use of variables (assignment), there
should be no space between variable
names and constants
(3)
https://github.com/syaifulahdan/os-practice|Operating System Practice | 6 to 66
2. VARIABLE
Variable shell is a variable that can have value in the form of String
value. The variable writing procedure is as follows:
name_var = value_var

Variables must start with alphabet, followed by alphanumeric and
other characters.

Variables can be written in lowercase or uppercase or a mixture of
both.

Shell distinguish uppercase and lowercase (case sensitive), for
example:
VPT=ftik
i=5
https://github.com/syaifulahdan/os-practice|Operating System Practice | 7 to 66
Assignment of variable values should not be separated by
spaces, since the shell will regard the separation as a
parameter, for example:
VPT =ftik ##error
VPT =ftik ##error
To see the value / contents of a variable, use the $ sign in front
of the variable name. In the shell, the echo instruction can
display the contents of that variable, for example:
VPT=ftik
echo $VPT
salary=320000
echo $salary
echo $VPT $salary
https://github.com/syaifulahdan/os-practice|Operating System Practice | 8 to 66
When using a string consisting of more than one word, the string
must be in quotes or apostrophes, for example:
VPT=ftik
VPT2=”informatic”
https://github.com/syaifulahdan/os-practice|Operating System Practice | 9 to 66
3. READ KEYBOARD
The value of the variable can be filled through the
keyboard (stdin) with read instructions.
4. PARAMETER
A shell program can have as many as 9 parameters and
is represented by a special variable of $! $ 2, $ 3, $ 4, $
5, $ 6, $ 7, $ 8 and $ 9. The program name she ll (script
name) is represented by the $ 0 variable.
The number of parameters expressed as $ #. When it
does not provide a parameter, then the value of $ # is 0.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 10 to 66
The $ * shell variable specifies all strings that become
parameters / arguments of a script ($ @ has the same
meaning). $$ specifies the process id number (pid) of the
executed script. This pid will keep changing (generally)
ascending, each time the process runs.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 11 to 66
5. STATUS EXIT
Each program after it is executed will provide information
through the special $? variable. The indications given are:
When the program ends successfully, $? = 0
When the program ends with an error, $? ≠ 0
The value of the exit status can be seen through the echo $?
instruction ?
https://github.com/syaifulahdan/os-practice|Operating System Practice | 12 to 66
6. CONSTRUCTION: IF
if-start instructions
then
Instructions 1
Instructions 2
………………
f
if will execute the initial instruction, and the exit status of the
instruction will be the condition. If 0, then the next instruction
goes into the block then. If not 0, then the program flow is
forwarded after the fi word key.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 13 to 66
7. CONSTRUCTION: IF, THEN, ELSE
If instructions1
then
Instructions1. 1
Instructions1. 2
………………
Else
Instructions2. 1
Instructions2. 2
………………
fi
If the exit status is not equal to 0, then the condition becomes FALSE and
the instruction after else will be executed....
https://github.com/syaifulahdan/os-practice|Operating System Practice | 14 to 66
8. INSTRUCTION TEST
The test instruction is used to check the condition of an
expression. The expression consists of a factor and operator
separated by a space.
The test result will give the value of an exit status, ie 0 if the
expression is appropriate, otherwise the result is ≠ 0.

Operator for test

Test for files and directory
https://github.com/syaifulahdan/os-practice|Operating System Practice | 15 to 66

Operator for test
Operator 0 or TRUE, if
string1 =
string2
Identical
string1 !=
string2
Not identical
-n string String is not null
-z string String is null
https://github.com/syaifulahdan/os-practice|Operating System Practice | 16 to 66

Test for files and directory
Operator 0 or TRUE, if
-f filename File exists, ordinary file
-d filename File exists, file is a directory
-r filename The file can be read
-w filename File can be written
-x filename File is executable
-s filename The file exists and is not empty
Test can be done to check whether file exists, readable,
writable, blank and others.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 17 to 66
To facilitate readability, the test can be written with
[ ekspresi ]
[actually is another name of the test, the difference [will look
for brackets closing] at the end of the expression that must be
separated by a space.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 18 to 66
9. LOGICAL && AND || (SHELL LEVEL)
Notation && and || used to combine shell instruction as an
alternative to if then else.
Notation && and || often found in the shell script system
administrator to run the routine of the operating system.

instruction 1 && instruction 2
the shell will execute instruction1, and if the exit status
of instruction1 is FALSE, then the result of the AND is
definitely the same as FALSE, so instruction2 has no
effect anymore. Therefore, instruction2 are not
executed. Conversely, if the result of instruction1 is
TRUE (0), then instruction2 is executed
https://github.com/syaifulahdan/os-practice|Operating System Practice | 19 to 66

instruction 1 || instruction 2
the shell will execute instruction1, if the status exit is
TRUE (0), the result of the OR operation is certain to
generate TRUE, regardless of the execution result of
instruction2.
Therefore the instruction2 do not need to be run. If the
result of instruction1 is FALSE, then instruction2
will be executed.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 20 to 66
10. OPERATOR INTEGERS FOR TESTS
To compare two numbers, the test requires a different operator
than the string.
Operator 0 or TRUE, if
i1 –eq i2 number equal
i1 –ge i2 Greater or equal to
i1 –gt i2 Greater than
i1 –le i2 Smaller or equal to
i1 –lt i2 Smaller
i1 –ne i2 Numbers are not equal
https://github.com/syaifulahdan/os-practice|Operating System Practice | 21 to 66
11. OPERATOR LOGICAL (TEST LEVEL)
The logical operator consists of AND, OR and NOT. This
operator combines the following expression results:
NOT : Symbol !
!
True False
False True
https://github.com/syaifulahdan/os-practice|Operating System Practice | 22 to 66
AND : Symbol -a
V1 V2 V1 -a V2
False False False
False True False
True False False
True True True
OR : Symbol -o
V1 V2 V1 -o V2
False False False
False True True
True False True
True True True
https://github.com/syaifulahdan/os-practice|Operating System Practice | 23 to 66
12. CONSTRUCTION: IF THEN ELSE IF
If instructions1
then
Instructions1. 1
Instructions1. 2
………………
Elif Instructions2
then
Instructions2. 1
Instructions2. 2
………………
Else
Instructions3. 1
Instructions3. 2
………………
Fi
https://github.com/syaifulahdan/os-practice|Operating System Practice | 24 to 66
If the exit status is not equal to 0, then the condition
becomes FALSE and the instruction after else will be
executed.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 25 to 66
13. ARITHMETICAL CALCULATIONS
The type of SHELL variable is only one that is STRING.
There is no other type like Numeric, Floating, Boolean or
other. Consequently this variable can not make arithmetic
calculations, for example:
A=5
B=$A +1 ## error
UNIX provides a utility called expr that is a utility that
performs simple arithmetic.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 26 to 66
14. EXIT INSTRUCTIONS
Programs can be terminated (terminated) with exit
instructions. As default value the program will give exit
status 0.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 27 to 66
15. CONSTRUCTION CASE
Case is used to simplify the use of chain if, so with the case,
conditions can be grouped logically with more clear and easy to
write.
case variable in
match1)
instructions1.1
instructions1.2
..................
;;
match2)
instructions2.1
instructions2.2
..................
;;
*)
instructions3.1
instructions3.2
..................
;;
esac
https://github.com/syaifulahdan/os-practice|Operating System Practice | 28 to 66
16. CONSTRUCTION FOR
For is used for repetition using a var which in each loop is
replaced by the value on the list.
for var in str1 str2 .....strn
do
instructions1
instructions1
..................
done
https://github.com/syaifulahdan/os-practice|Operating System Practice | 29 to 66
17. WHILE CONSTRUCTION
While used for instruction repetition, which is generally limited by
a condition.
As long as the condition is TRUE, then the loop continues.
The loop will stop, when the FALSE condition, or the program
exits the while block through exit or break.
while condition
do
instructions1
instructions2
..................
done
https://github.com/syaifulahdan/os-practice|Operating System Practice | 30 to 66
18. DUMMY INSTRUCTIONS
Dummy instruction is an instruction that does not
do anything, but this instruction gives exit status 0
(TRUE). Therefore, dummy instructions can be
used as forever conditions on loops (eg while).
The dummy instruction symbol is :⇒
https://github.com/syaifulahdan/os-practice|Operating System Practice | 31 to 66
19. FUNCTION
Function is a program that can be called by another
program by using the NameFunction () notation. The
function gives exit status ($?) Which is declared with
return nr, or value 0 as default.
Creating a function begins with a function name, a
parameter, then a block programs specified in {...}.
example:
F1( ) {
........
........
return 1
}
https://github.com/syaifulahdan/os-practice|Operating System Practice | 32 to 66
Variables can be defined in functions as local or global
variables. and it is very important to note, the name of
the variable used in a function, not to clash with the
same variable name outside the function, so that no
variable content changes.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 33 to 66
C. Step by Step
https://github.com/syaifulahdan/os-practice|Operating System Practice | 34 to 66
1 Login as user.
2 Open the Console Terminal and do the experiments
below and then analyze the results of the
experiment.
3 Conduct the experiments below and then analyze
the experimental results.
4 Complete the practice questions.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 35 to 66
D. Experiment
https://github.com/syaifulahdan/os-practice|Operating System Practice | 36 to 66
Experiment 1 : Create a shell script
1. Create a prog01.sh file wiith vi editer
$ vi prog01.sh
#!/bin/sh
# Program shell
#
var1=x
var2=8
https://github.com/syaifulahdan/os-practice|Operating System Practice | 37 to 66
$ . prog01.sh
3. Te run a shell, can alse create executable file and executed
relatve frem current directery
2. Te run a shell, use the dot netaten in frent ef the pregram
name
$ chmod +x prog01.sh
$ ./prog01.sh
https://github.com/syaifulahdan/os-practice|Operating System Practice | 38 to 66
Experiment 2 : Variables
1. Examples use variables in an interactve shell
2. Separaten ef 2 wierds wiith spaces indicates the executen ef 2
pieces ef instructen. The $ character must exist at the beginning ef
the variable name te viewi the centents ef the variable if net, then
eche wiill take the parameter as string.
$ VPT2=ftik informatic (There is an error message)
$ VPT2=”ftik informatic”
$ echo VPT2
$ echo $VPT2
$ VPT=ftik
$ echo=VPT
https://github.com/syaifulahdan/os-practice|Operating System Practice | 39 to 66
3. Cembine twie er mere variables
$ V1=ftik
$ V2=’:’
$ V3=elektronika
$ V4=$V1$V2V3
$ echo V4
https://github.com/syaifulahdan/os-practice|Operating System Practice | 40 to 66
$ echo $V3
$ echo $V3UTI
$ echo ${V3}UTI
4. Cembine the centents ef a variable wiith anether string.
77 If cembined wiith an undefined variable name (empty)
then the eche instructen returns an empty string. Te aveid
cenfusien, the name ef the variable needs te be pretected
by {} and then the centents ef that variable are cembined
wiith the string.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 41 to 66
$ CMD=who
$ $CMD
$ CMD=”ls –l”
$ $CMD
5. Variables can centain instructens, wihich then wihen
used as input fer the shell, the instructen wiill be executed
https://github.com/syaifulahdan/os-practice|Operating System Practice | 42 to 66
$ vi prog01.sh
#!/bin/sh
V1=ftik
V2=’:’
V3=informatika
echo “Shell programming”
echo $V1$V2$V3
V3=UTI
echo $V1$V2 di $V3
6. Medify the fellewiing prog01.sh file
https://github.com/syaifulahdan/os-practice|Operating System Practice | 43 to 66
$ .prog01.sh
$ prog01.sh (There is an error message)
$ ./prog01.sh (There is an error message)
$ chmod +x prog01.sh
$ ./prog01.sh
7. A simple wiay te execute a shell is te use the det netaten
in frent ef the shell script name. If the actual directery is
net listed in PATH, then the cemmand can net be feund.
When the script is net executable, the script can net be
executed.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 44 to 66
Experiment 3 : Reading keybeard
1. Using read instructens
$ read name
Den Bagus
$ echo $name
https://github.com/syaifulahdan/os-practice|Operating System Practice | 45 to 66
2. Read the Name and Address frem the keybeard
$ vi prog02.sh
#!/bin/sh
# prog02.sh
# membaca nama dan alamat
echo “Nama Anda : “
read nama
echo “Alamat : “
read alamat
echo “Kota : “
read kota
echo
echo “Hasil adalah : $nama, $alamat di $kota”
https://github.com/syaifulahdan/os-practice|Operating System Practice | 46 to 66
3. Pregram executen prog02.sh
$ . prog02.sh
Nama Anda :
Den Bagus
Alamat :
Jl. Suprapto 61
Kota :
Bandar lampung
Hasil Adalah : Den Bagus, Jl.Suprapto 61 di
Bandar Lampung
https://github.com/syaifulahdan/os-practice|Operating System Practice | 47 to 66
4. The eche instructen autematcally assigns a newi line, se te aveid
it previded the -n epten, wihich states te eche te remeve the newi
line. Medify pregram prog02.sh
$ vi prog02.sh
#!/bin/sh
# prog02.sh
# Read Name and Address)
echo -n “Your Name : “
read name
echo -n “Address : “
read address
echo -n “City : “
read city
echo
echo “Hasil adalah : $name, $address in $city”
https://github.com/syaifulahdan/os-practice|Operating System Practice | 48 to 66
5. Pregram executen prog02.sh
$ . prog02.sh
Nama Anda :Den Bagus
Alamat : Jl. Suprapto 61
Kota : Bandar lampung
Hasil Adalah : Den Bagus, Jl.Suprapto 61 di
Bandar Lampung
https://github.com/syaifulahdan/os-practice|Operating System Practice | 49 to 66
6. An empty variable is a variable that has ne value. This variable is
ebtained en assignment er read frem keybeard er variable that has
net been defined
$ read nama
<CR>
$ echo $nama
$ A=
$ B=””
$ C=$A$B
$ echo $C
https://github.com/syaifulahdan/os-practice|Operating System Practice | 50 to 66
7. Variables can be substtuted wiith the executen results ef an
instructen.
In the example belewi, the pwd instructen is executed first wiith a
pair ef Back Quates (inverted quetes). The result ef the executen
wiill be entered as the value ef the DIR variable
$ pwd
$ DIR=`pwd`
$ echo $DIR
https://github.com/syaifulahdan/os-practice|Operating System Practice | 51 to 66
8. Create a prog03.sh shell script
$ vi prog03.sh
#!/bin/sh
# prog03.sh
#
NAMA=`whoami`
echo Active Username is $NAMA
date =`date|cut -c1-10`
echo Today is the date $date
9. Executen prog03.sh
$ . prog03.sh
https://github.com/syaifulahdan/os-practice|Operating System Practice | 52 to 66
Experiment 4 : Parameter
1. Create shell script prog04.sh
$ nano prog04.sh
#!/bin/sh
# prog04.sh version 1
# Parameter passing
#
echo “name of the program is $0”
echo “Parameter 1 is $1”
echo “Parameter 2 is $2”
echo “Parameter 3 is $3”
https://github.com/syaifulahdan/os-practice|Operating System Practice | 53 to 66
2. Executen prog04.sh wiitheut parameters, wiith 2 parameters,
wiith 4 parameter
$ . prog04.sh
$ . prog04.sh budi wati
$ . prog04.sh budi wati amir ani
https://github.com/syaifulahdan/os-practice|Operating System Practice | 54 to 66
3. Create shell script prog04.sh versien 2 by giving the number ef
parameters
$ nano prog04.sh
#!/bin/sh
# prog04.sh version 2
# Parameter passing
#
echo “Number of parameters $#”
echo “name of the program is $0”
echo “Parameter 1 is $1”
echo “Parameter 2 is $2”
echo “Parameter 3 is $3”
https://github.com/syaifulahdan/os-practice|Operating System Practice | 55 to 66
4. Executen prog04.sh wiitheut parameters, and wiith 4 parameters
$ . prog04.sh
$ . prog04.sh budi wati amir ani
https://github.com/syaifulahdan/os-practice|Operating System Practice | 56 to 66
5. Create shell script preg04.sh versien 3 by adding tetal parameters
and precess id number (PID)
$ nano prog04.sh
#!/bin/sh
# prog04.sh version 3
# Parameter passing
#
echo “Number of parameters $#”
echo “name of the program is $0”
echo “Parameter 1 is $1”
echo “Parameter 2 is $2”
echo “Parameter 3 is $3”
echo “total parameters are $*”
echo “PID of this shell process is $$”
4. Executen prog04.sh wiith 4 parameters
$ . prog04.sh budi wati amir ani
https://github.com/syaifulahdan/os-practice|Operating System Practice | 57 to 66
Experiment 5 : Exit Status
1. String net feund, then exit status is 1
$ grep xyz /etc/passwd
$ echo $?
2. The string is feund, then the exit status is 0
$ grep xyz /etc/passwd
$ echo $?
https://github.com/syaifulahdan/os-practice|Operating System Practice | 58 to 66
Experiment 6 : Censtructen if
1. Instructen wiith exit status 0
$ who
$ who | grep <user>
$ echo $?
https://github.com/syaifulahdan/os-practice|Operating System Practice | 59 to 66
2. If it cempares the status exit wiith 0, if it is the same, then the
pregram bleck gees inte the then-fi bleck
$ if [ $? = 0 ]
> then
> echo “The user is active”
> fi
3. The numbers (1) and (2) abeve can be simplified wiith
$ if who|grep <user> >/dev/null
> then
> echo okay
> fi
https://github.com/syaifulahdan/os-practice|Operating System Practice | 60 to 66
Experiment 7 : Censtructen if then else
1. Create shell script preg05.sh
#!/bin/sh
# prog05.sh
# The program will confirm whether the name
# user is active or not
#
echo –n “Give the user a name : ”
read name
if who | grep $name > /dev/null
then
echo “$name is active”
else
echo “$user name is not active”
fi
https://github.com/syaifulahdan/os-practice|Operating System Practice | 61 to 66
2. Run prog05.sh, enter the name ef the actve user that appears in
the who's instructen and alse try te name the inactve user
$ who
$ . prog05.sh [name : incative user]
$ . prog05.sh [name : active user]
https://github.com/syaifulahdan/os-practice|Operating System Practice | 62 to 66
E. Exercise
https://github.com/syaifulahdan/os-practice|Operating System Practice | 63 to 66

Exercise : Practce 6A
1 Create a Program and name it excercise1.sh
#!/bin/sh
# prog02.sh
# Excercise 1
echo -n “NPM : “
read npm
echo -n “Nama : “
read nama
echo -n “Jurusan : “
read jurusan
echo -n “Alamat : “
read alamat
echo
echo “Mahasiswa Jurusan : $jurusan, bernama $nama
dan beralamat di $alamat” adalah mahasiswa
Berprestasi
https://github.com/syaifulahdan/os-practice|Operating System Practice | 64 to 66

Exercise : Practce 6A
2 Create a Program and name it excercise2.sh
#!/bin/sh
# prog04.sh version 3
# Parameter passing
#
echo "Mentioned 6 Color, Max 6"
echo “Number of parameters $#”
echo “name of the program is $0”
echo “color 1 is $1”
echo “color 2 is $2”
echo “color 3 is $3”
echo “color 4 is $4”
echo “color 5 is $5”
echo “color 6 is $6”
echo “total parameters are $*”
echo “PID of this shell process is $$”
https://github.com/syaifulahdan/os-practice|Operating System Practice | 65 to 66

Practice Report : Practce 6A
1 Analyze your experimental results.
2 Do the above exercises and analyze the results.
3 Give a conclusion from this lab.
https://github.com/syaifulahdan/os-practice|Operating System Practice | 66 to 66

“Pleasure in a job makes perfection on the results achieved”.
Aristoteles

“Believe you can. You're halfway”. Theodore Roosevelt

“You might be able to delay, but time will not wait”. Benjamin
Franklin

“The efort will work if someone does not give up”. Napoleon
Hill

“Opportunity to fnd a better strength in us arises when life
seems to be very challenging”. Joseph Campbell

More Related Content

What's hot

Unit Testing RPG with JUnit
Unit Testing RPG with JUnitUnit Testing RPG with JUnit
Unit Testing RPG with JUnit
Greg.Helton
 

What's hot (15)

RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG RPG Program for Unit Testing RPG
RPG Program for Unit Testing RPG
 
JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014JDT Embraces Lambda Expressions - EclipseCon North America 2014
JDT Embraces Lambda Expressions - EclipseCon North America 2014
 
Swift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for DevelopersSwift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for Developers
 
JUnit 5
JUnit 5JUnit 5
JUnit 5
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and MockitoAn Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
An Introduction to JUnit 5 and how to use it with Spring boot tests and Mockito
 
Unit Testing RPG with JUnit
Unit Testing RPG with JUnitUnit Testing RPG with JUnit
Unit Testing RPG with JUnit
 
A Long-Awaited Check of Unreal Engine 4
A Long-Awaited Check of Unreal Engine 4A Long-Awaited Check of Unreal Engine 4
A Long-Awaited Check of Unreal Engine 4
 
Errors detected in the Visual C++ 2012 libraries
Errors detected in the Visual C++ 2012 librariesErrors detected in the Visual C++ 2012 libraries
Errors detected in the Visual C++ 2012 libraries
 
Java Libraries You Can't Afford to Miss
Java Libraries You Can't Afford to MissJava Libraries You Can't Afford to Miss
Java Libraries You Can't Afford to Miss
 
Renaissance of JUnit - Introduction to JUnit 5
Renaissance of JUnit - Introduction to JUnit 5Renaissance of JUnit - Introduction to JUnit 5
Renaissance of JUnit - Introduction to JUnit 5
 
PHP 5
PHP 5PHP 5
PHP 5
 
Interpreter RPG to Java
Interpreter RPG to JavaInterpreter RPG to Java
Interpreter RPG to Java
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy Code
 
TDD - Unit Testing
TDD - Unit TestingTDD - Unit Testing
TDD - Unit Testing
 

Similar to Operating System Practice : Meeting 9 pemrograman shell - a -slide

Fundamentals of programming finals.ajang
Fundamentals of programming finals.ajangFundamentals of programming finals.ajang
Fundamentals of programming finals.ajang
Jaricka Angelyd Marquez
 
OverviewIn this assignment you will write your own shell i.docx
OverviewIn this assignment you will write your own shell i.docxOverviewIn this assignment you will write your own shell i.docx
OverviewIn this assignment you will write your own shell i.docx
alfred4lewis58146
 
Quize on scripting shell
Quize on scripting shellQuize on scripting shell
Quize on scripting shell
lebse123
 
Shell programming 1.ppt
Shell programming  1.pptShell programming  1.ppt
Shell programming 1.ppt
Kalkey
 

Similar to Operating System Practice : Meeting 9 pemrograman shell - a -slide (20)

Operating System Practice : Meeting 8- bekerja dengan bash shell-b-slide
Operating System Practice :  Meeting 8- bekerja dengan bash shell-b-slideOperating System Practice :  Meeting 8- bekerja dengan bash shell-b-slide
Operating System Practice : Meeting 8- bekerja dengan bash shell-b-slide
 
Fundamentals of programming finals.ajang
Fundamentals of programming finals.ajangFundamentals of programming finals.ajang
Fundamentals of programming finals.ajang
 
OverviewIn this assignment you will write your own shell i.docx
OverviewIn this assignment you will write your own shell i.docxOverviewIn this assignment you will write your own shell i.docx
OverviewIn this assignment you will write your own shell i.docx
 
Quize on scripting shell
Quize on scripting shellQuize on scripting shell
Quize on scripting shell
 
Operating System Practice : Meeting 7- working with bash shell-a-slide
Operating System Practice : Meeting 7- working with bash shell-a-slideOperating System Practice : Meeting 7- working with bash shell-a-slide
Operating System Practice : Meeting 7- working with bash shell-a-slide
 
JavaScript Cheatsheets with easy way .pdf
JavaScript Cheatsheets with easy way .pdfJavaScript Cheatsheets with easy way .pdf
JavaScript Cheatsheets with easy way .pdf
 
Deguzmanpresentationprogramming
DeguzmanpresentationprogrammingDeguzmanpresentationprogramming
Deguzmanpresentationprogramming
 
PHP-Basic
PHP-BasicPHP-Basic
PHP-Basic
 
Functional programming is the most extreme programming
Functional programming is the most extreme programmingFunctional programming is the most extreme programming
Functional programming is the most extreme programming
 
Shell programming 1.ppt
Shell programming  1.pptShell programming  1.ppt
Shell programming 1.ppt
 
1669958779195.pdf
1669958779195.pdf1669958779195.pdf
1669958779195.pdf
 
Core java
Core javaCore java
Core java
 
How To Use IO Monads in Scala?
 How To Use IO Monads in Scala? How To Use IO Monads in Scala?
How To Use IO Monads in Scala?
 
Phalcon 2 - PHP Brazil Conference
Phalcon 2 - PHP Brazil ConferencePhalcon 2 - PHP Brazil Conference
Phalcon 2 - PHP Brazil Conference
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 
Java for Mainframers
Java for MainframersJava for Mainframers
Java for Mainframers
 
Javascript
JavascriptJavascript
Javascript
 
Python Programming - III. Controlling the Flow
Python Programming - III. Controlling the FlowPython Programming - III. Controlling the Flow
Python Programming - III. Controlling the Flow
 
PHP from soup to nuts Course Deck
PHP from soup to nuts Course DeckPHP from soup to nuts Course Deck
PHP from soup to nuts Course Deck
 
Angular JS in 2017
Angular JS in 2017Angular JS in 2017
Angular JS in 2017
 

More from Syaiful Ahdan

More from Syaiful Ahdan (20)

Sertifikat EC00202128391
 Sertifikat EC00202128391 Sertifikat EC00202128391
Sertifikat EC00202128391
 
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
 
Sertifikat ec00202059774
Sertifikat ec00202059774Sertifikat ec00202059774
Sertifikat ec00202059774
 
Sertifikat ec00202059775
Sertifikat ec00202059775Sertifikat ec00202059775
Sertifikat ec00202059775
 
Sertifikat EC00202045078
Sertifikat EC00202045078Sertifikat EC00202045078
Sertifikat EC00202045078
 
Sertifikat EC00202044723
 Sertifikat EC00202044723 Sertifikat EC00202044723
Sertifikat EC00202044723
 
Sertifikat EC00202023523
Sertifikat EC00202023523Sertifikat EC00202023523
Sertifikat EC00202023523
 
Sertifikat EC00201826309
Sertifikat EC00201826309Sertifikat EC00201826309
Sertifikat EC00201826309
 
Sertifikat EC00202023149
Sertifikat EC00202023149Sertifikat EC00202023149
Sertifikat EC00202023149
 
Sertifikat EC00202022868
Sertifikat EC00202022868Sertifikat EC00202022868
Sertifikat EC00202022868
 
Sertifikat EC00202021343
Sertifikat EC00202021343Sertifikat EC00202021343
Sertifikat EC00202021343
 
Sertifikat EC00202022755
Sertifikat EC00202022755Sertifikat EC00202022755
Sertifikat EC00202022755
 
Sertifikat EC00201987196
Sertifikat EC00201987196Sertifikat EC00201987196
Sertifikat EC00201987196
 
Sertifikat EC00201856484
Sertifikat EC00201856484Sertifikat EC00201856484
Sertifikat EC00201856484
 
Sertifikat EC00201856352
Sertifikat EC00201856352Sertifikat EC00201856352
Sertifikat EC00201856352
 
Sertifikat EC00201856994
Sertifikat EC00201856994Sertifikat EC00201856994
Sertifikat EC00201856994
 
Sertifikat EC00201856895
Sertifikat EC00201856895Sertifikat EC00201856895
Sertifikat EC00201856895
 
Meeting 2 introdcution network administrator
Meeting 2   introdcution network administratorMeeting 2   introdcution network administrator
Meeting 2 introdcution network administrator
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 

Recently uploaded

SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
EADTU
 
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
AnaAcapella
 

Recently uploaded (20)

SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...OS-operating systems- ch05 (CPU Scheduling) ...
OS-operating systems- ch05 (CPU Scheduling) ...
 
How to Manage Website in Odoo 17 Studio App.pptx
How to Manage Website in Odoo 17 Studio App.pptxHow to Manage Website in Odoo 17 Studio App.pptx
How to Manage Website in Odoo 17 Studio App.pptx
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategies
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
MOOD STABLIZERS DRUGS.pptx
MOOD     STABLIZERS           DRUGS.pptxMOOD     STABLIZERS           DRUGS.pptx
MOOD STABLIZERS DRUGS.pptx
 
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptxAnalyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
An Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge AppAn Overview of the Odoo 17 Knowledge App
An Overview of the Odoo 17 Knowledge App
 
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading RoomSternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
Sternal Fractures & Dislocations - EMGuidewire Radiology Reading Room
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
Book Review of Run For Your Life Powerpoint
Book Review of Run For Your Life PowerpointBook Review of Run For Your Life Powerpoint
Book Review of Run For Your Life Powerpoint
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
 

Operating System Practice : Meeting 9 pemrograman shell - a -slide