Skip to content

Latest commit

 

History

History
114 lines (99 loc) · 2.84 KB

Gün07-27-07-18.md

File metadata and controls

114 lines (99 loc) · 2.84 KB

Kabuk Programlama

#!/bin/bash
echo "tarih ve çalışma dizini:"
date
pwd

Tırnaklar

Tırnak Türü Değişken Komut
çift tırnak ("") evet hayır
tek tırnak ('') hayır hayır
ters tırnak (``) evet evet

Değişken Niteleyiciler

  • ${değişken} değişkenin değeri kullanılır
  • ${değişken:-kelime} değişken yoksa veya boşsa "kelime kullanılır"
  • ${değişken:=kelime} değişken yoksa veya boşsa "kelime" değişkenine aktarılır ve kullanılır, aksi durumda değişkenin değeri kullanılır.
  • ${değişken:?kelime} değişken yoksa veya boşsa hata verip programdan çıkılır ?eksik?
  • ${değişken:+kelime} değişken kurulu değilse veya boş ise hiçbir şey kullanılmaz, değişken değer içeriyorsa yerine "kelime" kullanılır
  • ${değişken:sayi1:sayi2} değişken içinde sayi1 kadar sonraki karakterden itibaren sayi2 karakter kadarlık kısmı getirir
  • ${#değişken} değişkenin uzunluğunu verir

Diziler

DIZI[0]=ilkeleman       echo ${DIZI[0]}
DIZI[1]=ikincieleman    echo ${DIZI[1]}
DIZI[n]=nincieleman     echo ${DIZI[n]}

Dizinin herhangi bir elemanını silmek için unset kullanılır

IF, CASE yapısı

if [ durum ]
then
    komutlar
elif [ başkadurum ]
then
    komutlar
else
    komutlar
fi
case veri in
    durum )
        komutlar
    ;;
    başkadurum )
        komutlar
    ;;
    * )
        komutlar
    ;;
esac

FOR, WHILE yapısı

for isim in kelime
do
    komutlar
done
while durum
do
    komutlar
done

Test

Dosyalar

if ve while yapılarındaki "durum"lar "test" komutu ile oluşturulmaktadır. $ test ifade biçiminde kullanılmaktadır.

İfade değerleri:

  • -f dosya (dosya varsa ve türü dosya doğrudur)
  • -d dosya (dosya varsa ve türü dizinse doğrudur)
  • -s dosya (dosya varsa ve boş değilse doğrudur)
  • -w dosya (dosya varsa ve yazılabilir ise doğrudur)
  • -x dosya (dosya varsa ve çalıştırılabilir ise doğrudur)
  • -O dosya (dosya varsa ve sahibi geçerli kullanıcı ise doğrudur)

Katarlar

  • -n katar (katarın boyu 0 değilse doğrudur)
  • -z katar (katarın boyu 0 ise doğrudur)
  • ?eksik?

Örnek:

Özel Değişkenler

  • $0 -> programın adı
  • $1 ... $9 -> sırasıyla komut satırındaki parametreler
  • $# -> toplam parametre sayısı
  • $? -> en son programın çıkış durumu
  • $$ -> çalışan kabuğun pid'si
  • $! -> en son çalıştıştırılmış art alan görevinin süreç numarası
  • $* -> tüm parametrelerin birleştirilmiş hali

shift

9'dan fazla parametrelere erişim için shift komutu kullanılır. $1 ile birinci parametreye erişirken shift kullanılırsa $1 ile ikinci parametre kullanılabilir.

Fonksiyonlar

function fonksiyonadı ()
{
    komutlar
}