• Normalde Linux kabuğu interaktif bir sistemdir. • Kullanıcı çeşitli komutlar yazarak işletim sistemi üzerinde işlemler gerçekleştirmektedir. • Fakat işletim sistemi üzerinde düzenli olarak gerçekleştirilen veya belirli aralıklalar ile tekrarlanan işlemler olabilir. Yada bazı prosedürler uzun ve bir çok komut çalıştırılmasına ihtiyaç duyuyor olabilir. • Böyle durumlarda kullanıcılar veya sistem yöneticileri toplu işlem dosyaları oluşturarak bu zahmetli süreci kolaylaştırırlar. Linux’ta oluşturulan toplu işlem dosyalarına Shell Script adı verilir
Shell Script
• Shell Script (Kabuk Betiği) aşağıdaki gibi tanımlanır: • Linux komutları belirli bir algoritma içerisine düz metin dosyasında yazılır ve bu tıpkı bir toplu iş dosyası gibi Linux Kabuğu içerisinde çalıştırılır. • Bu özellik Windows ve MS-DOS işletim sistemlerinde de mevcuttur. Fakat Linux Shell Scriptleri Windows İşletim istemindekilere nazaran çok daha güçlüdür.
Neden Shell Scirpt yazarız?
• Shell Script kullanıcıdan veya bir dosyadan girdi alabilir ve ekrana çıktı verebilir. • Kendi komutlarınızı oluşturabilirsiniz. • Zaman tasarrufu sağlar. • Günlük hayatta gerçekleştirdiğiniz birçok işlemi hızlı ve otomatik bir şekilde gerçekleştirmenizi sağlar. • Sistem yönetiminin bir parçasıdır. Yedeklerin alınması, güncelleme etkilendirme ve daha birçok işlem için scriptler kullanılır.
Linux Shell Script Nasıl Yazılır?
• Herhangi bir metin editörü üzerinde Shell Script yazailirsiniz. • pico, nano, gedit, … • Scriptinizi yazdıktan sonra sistem üzerinde script dosyanıza çalıştırma yetkisi vermeniz gerekir. • chmod <YetkiDeğeri> <ScriptAdı> • ÖRN: $ chmod 711 myfirstscript.sh • Çalıştırma yetkisi verdiğiniz bir scirptti aşağıdaki gibi çalıştırabilirsiniz. • $ ./myfirstscript.sh
Bir Shell Script Örneği
• Scirpt Dosyamızın ismi “kali” olsun. Dosyamızın içine aşağıdaki ifadeyi yazalım:
# # My kali shell script # clear echo “Hello Hayalindeki Yazilim”
Dosyamızı oluşturup kaydettikten sonra komut satırında:
• $ ./kali
• Yazdığımız zaman scriptimizin çalışmadığını göreceğiz. Çünkü daha çalıştırma yetkisini vermedik. Bu yüzden önce yetki vermemiz gerekli:
• $ chmod 751 kali • $ ./kali
• Bu şekilde programımızın çalıştığını görebiliriz.
echo Komutu
• echo komutu Linux kabuğuda kullanıcı tarafından yazılan bir text mesajını, değeri veya değişkeni ekrana yazar.
• ÖRN:
clear echo “Hello $USER” echo “Today is”; date echo “Takvim”;cal
• $USER kullanıcı hesabı değişkenidir.
Değişkenler
• Shell Script ortamında değişkenler için bir tip tanımlanmasına gerek yoktur.
• myname=Burak • myOS=Kali • myNo=1 • echo “Benim adım $myname” • echo “İşletim sistemi $myOS” • echo “Numaram $myNo”
Okuma (read) Komtu
• Linux Shell Script’te klavyeden bir içerik okumak için read komutu kullanılır.
# #Klavyeden bir isminizi okuyarak ekrana basan script #
echo “Your first name please:” read fname echo “Hello $fname, Hadi Başlayalım!”
Koşul Deyimleri ve if..else Blokları
• Linux Shell Scriptte bir koşul ifadesi yazmak için if ile beraber test komutu kullanılır yada [ ] içerisine koşul yazılır.
• if test • if [ expr ]
Shell Script’te Kullanılan Operatörler
Operatör Matematiksel Shell kullanımı (test) Shell kullanımı [ expr ] -eq 5 == 6 if test 5 –eq 6 if [ 5 –eq 6 ] -ne 5 != 6 if test 5 –ne 6 if [ 5 –ne 6 ] -lt 5 < 6 if test 5 –lt 6 if [ 5 –lt 6 ] -le 5 <= 6 if test 5 –le 6 if [ 5 –le 6 ] -gt 5 > 6 if test 5 –gt 6 if [ 5 –gt 6 ] -gt 5 >= 6 if test 5 –ge 6 if [ 5 –ge 6 ]
Koşul Örneği
# Girilen değerin pozitif veya negatif olduğunu bulan program
if [ $# -eq 0 ] then echo "$0 : You must enter a number" exit 1 fi if test $1 -gt 0 then echo "$1 number is positive" else echo "$1 number is negative" fi
Döngüler
• Aynı programlama dillerinde olduğu gibi Linux Shell Script içerisinde de döngüler yazmak mümkündür. • Linux’ta döngü oluşturmak için • for • While • Anahtar kelimeleri kullanılabilir
for Örneği
n=$1 for i in 1 2 3 4 5 6 7 8 9 10 do echo "$i*$n = `expr $i \* $n`" done