Bash kabuk programlamaya kaldığımız yerden devam edelim. Bu derse başlamadan önce diğer 2 dersi tamamladığınızdan emin olun. Merak edenler Kabuk Programlamaya Giriş ve Bash Script Uygulamaları -1 linklerini inceleyebilirler.
1. Kullanıcıdan TC kimli nosunu girmesini isteyin ve TC nosunun son hanesine göre;
- Eğer son hanesi 0, 1, 2 ile bitiyorsa "Maaş artışınız %10'dur" yazsın.
- Eğer son hanesi 3, 4, 5 ile bitiyorsa "Maaş artışınız %20'dir" yazsın.
[melih@dhcppc3 scripts]$ vi sayi.sh [melih@dhcppc3 scripts]$ cat sayi.sh #!/bin/bash echo -n "Lütfen TC no'nuzun son hanesini giriniz:" read sayi1 case $sayi1 in 0 | 1 | 2 ) echo "Maaş artışınız %10'dur.";; 3 | 4 | 5 ) echo "Maaş artışınız %20'dir";; *) echo "Üzgünüm maaşınız aynıdır";; esac [melih@dhcppc3 scripts]$ bash sayi.sh Lütfen TC no'nuzun son hanesini giriniz:2 Maaş artışınız %10'dur. [melih@dhcppc3 scripts]$ bash sayi.sh Lütfen TC no'nuzun son hanesini giriniz:5 Maaş artışınız %20'dir [melih@dhcppc3 scripts]$ bash sayi.sh 8 Lütfen TC no'nuzun son hanesini giriniz:9 Üzgünüm maaşınız aynıdır
2. Ekrana aşağıdaki gibi çıktı verecek bir script yazınız.
Sayı : 1
Sayı : 2
Sayı : 3
[melih@dhcppc3 scripts]$ vi 123.sh [melih@dhcppc3 scripts]$ cat 123.sh #!/bin/bash for i in 1 2 3 do echo "Sayı : $i" done [melih@dhcppc3 scripts]$ bash 123.sh Sayı : 1 Sayı : 2 Sayı : 3
3. Yukardaki örneği eğer 1'den 100' e kadar yazdırmak istersek nasıl bir script yazmalıyız.
[melih@dhcppc3 scripts]$ vi for2.sh
[melih@dhcppc3 scripts]$ cat for2.sh
#!/bin/bash
for ((i=1;i<=100;i++))
do
echo "Sayı: $i "
done
[melih@dhcppc3 scripts]$ bash for2.sh
Sayı: 1
Sayı: 2
Sayı: 3
Sayı: 4
Sayı: 5
Sayı: 6
Sayı: 7
Sayı: 8
Sayı: 9
Sayı: 10
...
..
.
4. Aşağıdaki çıktıyı elde etmek için gereken scripti yazınız.
1
11
111
1111
11111
[melih@dhcppc3 scripts]$ vi for3.sh
[melih@dhcppc3 scripts]$ cat for3.sh
#!/bin/bash
for ((i=1;i<=5;i++))
do
for ((j=1;j<=i;j++))
do
echo -n 1
done
echo " "
done
[melih@dhcppc3 scripts]$ bash for3.sh
1
11
111
1111
11111
5. Aşağıdaki şeklin ne kadar uzun olacağını kullanıcı belirlesin.
1
11
111
1111
11111
...
..
.
[melih@dhcppc3 scripts]$ vi for4.sh ^[:q![melih@dhcppc3 scripts]$ vi for4.sh [melih@dhcppc3 scripts]$ vi for4.sh [melih@dhcppc3 scripts]$ cat for4.sh #!/bin/bash echo "Bir sayı giriniz:" read sayi for ((i=1;i<=sayi;i++)) do for ((j=1;j<=i;j++)) do echo -n 1 done echo " " done [melih@dhcppc3 scripts]$ bash for4.sh Bir sayı giriniz: 10 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111
6. While kullanarak aşağıdaki çıktıyı elde ediniz. 1'den 10'a kadar ekrana yazdırın.
Sayı : 1
Sayı : 2
...
Sayı : 9
Sayı : 10
[melih@dhcppc3 scripts]$ vi while.sh [melih@dhcppc3 scripts]$ cat while.sh #!/bin/bash i=1 while [ $i -le 10 ] do echo "Sayı: $i" let i=$i+1 done [melih@dhcppc3 scripts]$ bash while.sh Sayı: 1 Sayı: 2 Sayı: 3 Sayı: 4 Sayı: 5 Sayı: 6 Sayı: 7 Sayı: 8 Sayı: 9 Sayı: 10
2. Yol
#!/bin/bash
i=0
while (( i++<10 ))
do
echo "Sayı: $i"
done
7. 10 adet html dosyası oluşturun ve her bir dosyanın içinde "Bu bir n. dosyadır" yazdın.
Örnek;
dene1.html içeriği "Bu bir 1. dosyadır."
dene7.html içeriği "Bu bir 7. dosyadır."
[melih@dhcppc3 scripts]$ vi denehtml.sh [melih@dhcppc3 scripts]$ cat denehtml.sh #!/bin/bash for ((i=1;i<=10;i++)) do echo "Bu bir $i.dosyadır" > dene$i.html done [melih@dhcppc3 scripts]$ bash denehtml.sh [melih@dhcppc3 scripts]$ ls *.html dene10.html dene2.html dene4.html dene6.html dene8.html dene1.html dene3.html dene5.html dene7.html dene9.html [melih@dhcppc3 scripts]$ cat dene4.html Bu bir 4.dosyadır
Bu yazımında sonuna geldim. Bash Script Uygulamaları daha devam edicek. Umarım açıklayıcı ve doğru bir kaynak olmuştur. Görüşmek üzere..
Hiç yorum yok:
Yorum Gönder