THT DUYURU

 
 
Script Dilleri Scriptlerin oluşturulduğu dillerin dökümanlarının ortaklaşa paylaşıldığı alandır.

Seçenekler

Shell Scripts Programlama - 2

merlins - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2019
Mesajlar:
172
Konular:
24
Teşekkür (Etti):
42
Teşekkür (Aldı):
75
Ticaret:
(0) %
4
3546
4 Hafta önce
#1
Shell Scripts-2


Merhaba 2.dersimiz ile karşınızdayım. Haydi başlayalım;
Bash'deki en temel dallanma ifadesi if ifadesidir. Sözdizimi yeni başlayanlar için korkutucu görünse de, temelde C, C ++, Java vb. Gibi diğer programlama dilleriyle aynıdır. Köşeli parantezlerin önündeki ve arkasındaki boşluklara dikkat edin. Shell boşluktan bağımsız değildir, bu nedenle bu boşlukları doğru yerlere koyduğunuzdan emin olmanız gerekir. Aksi takdirde, her boşluk hatası için bir sözdizimi hatası alırsınız.


Kod:
#!/bin/bash

if [ koşul ]; then -> eğer anlamına gelmektedir 
cümle -> buraya işeme alacağınız cümleleri yazabilirsiniz
fi -> bitirmek için kullanılır
#----------------------------aşağıdaki farklı bir yazım türüdür
if [ koşul ]
then
cümle
fi
Operatörler





-eq : eşittir
-ne : eşit değildir
-gt : büyüktür
-ge : büyüktür veya eşittir
-lt : küçüktür
-le : küçüktür veya eşittir
< : küçüktür (çift parantez içinde)
<= : küçüktür veya eşittir (çift parantez içinde)
> : büyüktür (çift parantez içinde)
>= : büyüktür veya eşittir (çift parantez içinde)

Operatörler yukarıdaki maddelerle sınırlı değildir. Operatörlerin tam listesini “Linux Dokümantasyon Projesi” web sitesinde bulabilirsiniz.


Kod:
#!/bin/bash


count=10


if [ $count -eq 9 ]
then
echo "koşul dogru"
fi


if (($count > 9))
then
echo "koşul dogru"
fi

#---------------ikinci örnek----------------------

word="abc"


if [ $word == "abc" ] # tek eşittir işareti de geçerlidir
then
echo "koşul dogru"
fi

#---------------üçüncü örnek----------------------

word=a


if [[ $word < "b" ]]
then
echo "Condition is true" 
else
echo "Condition is false"
fi

#---------------dörtüncü örnek----------------------


word=a


if [[ $word == "b" ]]
then
echo "harf b eşit" 
elif [[ $word == "a" ]] ->else if anlamındadır bitmediği için fi konmaz fi bitim noktasına konur
then
echo "harf a eşit" 
else
echo "harf a yada b eşit degil"
fi -> bitim noktası
Dosya işlemleri


Dosyalarla uğraşmak, Linux komut dosyası yazmanın çok önemli bir parçasıdır. İçin çok büyük miktarda sorgu seçeneği vardır bash'da dosya test işlemleri. Tam listeyi Linux Dokümantasyon Proje web sitesinde bulabilirsiniz.



Kod:
#!/bin/bash


echo -e "dosya adını girin: \c"
read fileName


# ismi kontrol et
if [ -e $fileName ]
then
echo "$fileName bulundu." 
else
echo "$fileName bulunamadı"
fi


# Normal dosyayı kontrol edin: -f
# Dizinleri kontrol edin:  -d

#-----------------ikinci örnek------------------


echo -e "dosya ismini girin \c"
read fileName


if [ -f $fileName ]
then
	if [ -w $fileName ] -> if içinde if
	then
	echo "Metin yazın. Çıkmak için CTRL-D'ye basın. " 
	cat >> $fileName
	else
	echo "Yazmaya izniniz yoktur"
	fi 
else
echo "$fileName does not exist."
fi
BONUS

Hesap Makinesi


Kod:
#!/bin/bash


if [ $# -ne 3 ]
then
echo "3 adet argüman girin!!" 
exit 1
fi


num1=$1 
num2=$2
operator=$3


if [[ $operator == "+" ]]
then
echo "Sonuc: $(( num1 + num2 ))" 
elif [[ $operator == "-" ]]
then
echo "Sonuc: $(( num1 - num2 ))" 
elif [[ $operator == "*" ]]
then
echo "Sonuc: $(( num1 * num2 ))" 
elif [[ $operator == "/" ]]
then
echo "Sonuc: $(( num1 / num2 ))" 
elif [[ $operator == "%" ]]
then
echo "Sonuc: $(( num1 % num2 ))" else
echo "Hatalı operator secimi."
fi
Çalışma örneği:


Kod:
$ ./test.sh 10 2 \&
Hatalı operator secimi.


$ ./test.sh 10 2 +
Sonuc: 12


$ ./test.sh 10 2 \*
Sonuc: 20
Ghost Killer - ait Kullanıcı Resmi (Avatar)
Anka Underground (Çaylak)
Üyelik tarihi:
01/2019
Nereden:
J İ T E M
Mesajlar:
4.268
Konular:
133
Teşekkür (Etti):
113
Teşekkür (Aldı):
2239
Ticaret:
(0) %
4 Hafta önce
#2
eline sağlık dostum.
--------------------- Aşk güzeldir karşılığı varsa ama karşılıksız da sevilir karşımdaki vatansa...

#Ghost Killer#
merlins - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2019
Mesajlar:
172
Konular:
24
Teşekkür (Etti):
42
Teşekkür (Aldı):
75
Ticaret:
(0) %
4 Hafta önce
#3
Alıntı:
Ghost Killer´isimli üyeden Alıntı Mesajı göster
eline sağlık dostum.
teşekkür ederim hocam
'PedroDavis - ait Kullanıcı Resmi (Avatar)
Moderatör
Üyelik tarihi:
06/2015
Nereden:
Unknown
Mesajlar:
2.569
Konular:
58
Teşekkür (Etti):
89
Teşekkür (Aldı):
842
Ticaret:
(0) %
4 Hafta önce
#4
Ellerine sağlık.
---------------------
"Mutlak muvaffak olacağız!"
- Mustafa Kemal ATATÜRK
Profesör - ait Kullanıcı Resmi (Avatar)
Haftanın Asistanı
Üyelik tarihi:
04/2020
Nereden:
-Türkistan-
Mesajlar:
3.668
Konular:
208
Teşekkür (Etti):
742
Teşekkür (Aldı):
2260
Ticaret:
(0) %
3 Hafta önce
#5
Eline emeğine sağlık
---------------------
İletişim için
Twitter: PROFESOR_THT
E-posta: [email protected]
Telegram: thtprof


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler