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