Temel düzeyde fonksiyonları kullanarak bir bash script yapaılım
koyuncum.sh adında bir metin dosyası oluşturalım ve gedit ile açalım
Bash script olduğunu
#!/bin/bash
İlk satıra yazarak belirtelim
echo programın ismi $0
echo Sistem Zamanı `date`
function menu {
echo 1 - Kullanıcı sayısına bak
echo 2 - Dizindeki dosyalara bak
echo 3 - 1 den 5 a dan z ye karakterleri bas
echo 4 - 5 tane dosya oluştur
echo 5 - ÇIKIŞ
read secim
if [ "$secim" = "1" ]; then
kullanici_Sayisi
else
if [ "$secim" = "2" ]; then
dizin_Bas
else
if [ "$secim" = "3" ]; then
kadar
else
if [ "$secim" = "4" ]; then
dosya_Olustur
else
if [ "$secim" = "5" ]; then
else
echo "Hatalı giriş yapıyorsunuz."
fi
fi
fi
fi
fi
menu
}
function isim_al {
clear
echo Hoşgeldiniz Lütfen adınızı ve soyadınızı giriniz
read ad
for i in 1 2 3 43
do
echo $ad
done
}
function kullanici_Sayisi {
clear
echo Sistem de şuan `who | wc -l` kullanıcı var
}
function dizin_Bas {
clear
echo Dizindeki dosyalar
echo `ls *`
}
function kadar {
clear
echo 1 den 5 e kadar sayılar {1..5}
echo a dan z ye harfler {a..z}
}
function dosya_Olustur {
clear
sudo touch {1.5}.txt
echo 5 adet dosya oluşturuldu
}
isim_al
menu
Script ne işe yarıyor , ne yapıyoruz?
- $0 ile programın ismii alıyoruz.
- Scriptin amacı en temel düzeyde function kavramını öğrenebilmek.
- Kullanıcıya 5 farklı seçenek sunan bir menu fonksıyonu kullanılıyor.Bu fonksıyonda if else kontrol yapısı kullanılıyor
- isim_al fonksiyonu ile klavyeden girilen değeri for döngüsüne sokarak ekrana bastırıyor
- kullanici_Sayisi adlı fonksiyon ise Pipe mekanizmasını kullanarak who dan çıkan bilginini wc -l ile satır sayısını alarak kullanıcı sayısını basıyor
- dizin_Bas fonksiyonu ls komutu ile dizindeki dosyaları basıyor. echo `ls *` KESME İŞARETİ ÖNEMLİ
- kadar fonksiyonu ardışık olarak artan alfabe ve 1 den 5 e kadar olan sayıları ekrana basıyor
- dosya_Olustur fonksiyonu touch komutunu kullanarak 1 den 5 e kadar .txt dosyası oluşturuyor
- Önce fonksiyonlar tanımlanmalı daha sonra çağırılmalı
ufak bir çalışma yapıyorum yalnız bir nokta da takılı kaldım bana yardımcı olursanız sevinirim.hamachi için ufak bir terminal de arayüzü yapıyorum takıldığım nokta açılan veya kurulan server bağlanmada ad ve şifre giriş işlemi bunu nasıl ekleyeceğimi çözemedim
#!/bin/bash
SECENEKLER=”Baslat Liste Server Cikis”
select i in $SECENEKLER; do
if [ “$i” = “Cikis” ]; then
exit
elif [ “$i” = “Liste” ]; then
sudo hamachi list
elif [ “$i” = “Baslat” ]; then
sudo /etc/init.d/logmein-hamachi start
elif [ “$i” = “Server” ]; then
sudo hamachi create ???????????????????
else
echo “Secenek Anlasilmadi?”
fi
done