Kullanıcıların bir bilgisayar organizasyonuna iş yaptırabilmesi için onunla iletişime geçebilmesi gerekir. İşletim sistemi çekirdek yazılımları, son kullanıcıların erişip işlem yapabileceği ortamlar değildir. Bu nedenle kullanıcıların programlar ve komutlar aracılığı ile işletim sistemine ulaşabilmesi ve bilgisayara iş yaptırabilmesi için ara yazılımlar geliştirilmektedir. Bu ara yazılımlar komut satırı veya grafik arabirimi şeklinde olabilmektedir.
Unix veya Linux shell, Linux işletim sistemine erişmek için kullanılan bir kullanıcı arayüzüdür. Kullanıcıların dosya sisteminde gezinmek, dosyaları yönetmek, programları çalıştırmak ve sistemi yapılandırmak gibi görevleri gerçekleştirmek için komutlar yazmasına imkan tanıyan bir programdır.
Command Prompt olarak adlandırılan $ promptu shell tarafından kullanıcıya sunulur. Shell girilen komutları buradan okur.
Shell Türleri
İki temel shell türü bulunmaktadır.
- Bourne shell − Eğer Bourne shell kullanılıyorsa, $ karakteri default prompt olarak gelir.
- C shell − Eğer C shell kullanılıyorsa, % karakteri default prompt olarak gelir.
Bourne shell alt türleri
- Bourne shell (sh), bulunduğu dizin /bin/sh
- Korn shell (ksh), bulunduğu dizin /bin/ksh or /bin/ksh93
- Bourne Again shell (bash), bulunduğu dizin /bin/bash
- POSIX shell (sh), bulunduğu dizin /bin/ps
C shell alt türleri
- C shell (csh), bulunduğu dizin /bin/csh
- TENEX/TOPS C shell (tcsh), bulunduğu dizin /bin/tcsh
Shell Sctipt
Bir shell script temel olarak, yürütme sırasına göre sıralanan komutlar bir listesidir. İyi bir shell scriptte, # işaretinin önünde adımları açıklayan açıklamalar bulunur.
Script içerisinde programlama mantıığında kullanılan koşullu ifadeler, döngüler, dosya işlemleri, değişken tanımlama ve okuma gibi işlemlerin yanısıra fonksiyonlar da tanımlanabilir.
Örnek shell script
Script dosyaları .sh uzantılı olmalıdır. Script’e bir şey eklemeden önce, sistemi bir shell script başlatıldığı konusunda uyarmak gerekir. Bu uyarı aşağıdaki gibi yapılır.
#!/bin/sh
Bu ifade, sisteme aşağıdaki komutların Bourne shell tarafından yürütüleceğini bildirir. Buna shebang denir çünkü # sembolüne hash denir ve ! sembole bang denir.
#!/bin/bash
# Author : Bayram Üçüncü
# Copyright (c) bayramucuncu.com
# Script follows here:
pwd
ls
Bu dosyayı test.sh olarak kaydederek çalıştırılabilir hale getirmek gereklidir.
$ chmod +x test.sh
Çalıştırılabilr test.sh dosyası aşağıdaki şekilde çalıştırılır.
$ ./test.sh
Programın çalıştırılması için ./program_adı kullanılır.