#!/bin/bash
echo "tarih ve çalışma dizini:"
date
pwd
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}
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
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 [ durum ]
then
komutlar
elif [ başkadurum ]
then
komutlar
else
komutlar
fi
case veri in
durum )
komutlar
;;
başkadurum )
komutlar
;;
* )
komutlar
;;
esac
for isim in kelime
do
komutlar
done
while durum
do
komutlar
done
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)
- -n katar (katarın boyu 0 değilse doğrudur)
- -z katar (katarın boyu 0 ise doğrudur)
- ?eksik?
Örnek:
- $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
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.
function fonksiyonadı ()
{
komutlar
}