Меню
Yaygın bir etkileşim türüne denir menü odaklı. Menü odaklı programlarda kullanıcıya bir seçenekler listesi sunulur ve bunlardan birini seçmesi istenir. Örneğin aşağıdakileri sunan bir program hayal edebiliriz:
Lütfen seçin:
1. Sistem Bilgilerini Görüntüle
2. Disk Alanı Görüntüle
3. Ev Alanı Kullanımını Görüntüle
0. Çık
Seçimi girin [0-3] >
Lütfen seçin:
1. Sistem Bilgilerini Görüntüle
2. Disk Alanı Görüntüle
3. Ev Alanı Kullanımını Görüntüle
0. Çık
Seçimi girin [0-3] >
Yazımızı yazarken öğrendiklerimizi kullanarak sys_info_page programı kullanarak, yukarıdaki menüdeki görevleri gerçekleştirmek için menü odaklı bir program oluşturabiliriz:
#! / Bin / bash
# read-menü: bir menü tarafından yönlendirilen sistem bilgi programı açık
Eko "
Lütfen seçin:
1. Sistem Bilgilerini Görüntüle
2. Disk Alanı Görüntüle
3. Ev Alanı Kullanımını Görüntüle
0. Çık "
read -p "Seçimi girin [0-3] > "
#! / Bin / bash
# read-menü: bir menü tarafından yönlendirilen sistem bilgi programı açık
Eko "
Lütfen seçin:
1. Sistem Bilgilerini Görüntüle
2. Disk Alanı Görüntüle
3. Ev Alanı Kullanımını Görüntüle
0. Çık "
read -p "Seçimi girin [0-3] > "
if [[ $REPLY =~ ^[0-3]$ ]]; o zaman eğer [[ $REPLY == 0 ]]; sonra
echo "Program sonlandırıldı." çıkış
fi
if [[ $REPLY == 1 ]]; ardından "Hostname: $HOSTNAME" çalışma süresini yankılayın
çıkış
fi
if [[ $REPLY == 2 ]]; sonra df -h
çıkış
fi
if [[ $REPLY == 3 ]]; sonra
if [[ $(id -u) -eq 0 ]]; sonra
echo "Ev Alanı Kullanımı (Tüm Kullanıcılar)" du -sh /home/*
başka
echo "Ev Alanı Kullanımı ($USER)" du -sh $HOME
fi çıkışı
başka
echo "Geçersiz giriş." >&2 çıkış 1
fi
if [[ $REPLY =~ ^[0-3]$ ]]; o zaman eğer [[ $REPLY == 0 ]]; sonra
echo "Program sonlandırıldı." çıkış
fi
if [[ $REPLY == 1 ]]; ardından "Hostname: $HOSTNAME" çalışma süresini yankılayın
çıkış
fi
if [[ $REPLY == 2 ]]; sonra df -h
çıkış
fi
if [[ $REPLY == 3 ]]; sonra
if [[ $(id -u) -eq 0 ]]; sonra
echo "Ev Alanı Kullanımı (Tüm Kullanıcılar)" du -sh /home/*
başka
echo "Ev Alanı Kullanımı ($USER)" du -sh $HOME
fi çıkışı
başka
echo "Geçersiz giriş." >&2 çıkış 1
fi
Bu komut dosyası mantıksal olarak iki bölüme ayrılmıştır. İlk bölüm menüyü görüntüler ve kullanıcıdan gelen yanıtı girer. İkinci kısım yanıtı tanımlar ve seçilen eylemi gerçekleştirir. kullanımına dikkat edin çıkış Bu komut dosyasındaki komut. Burada, bir eylem gerçekleştirildikten sonra betiğin gereksiz kod yürütmesini önlemek için kullanılır. Bir programda birden fazla çıkış noktasının varlığı genellikle kötü bir fikirdir (program mantığının anlaşılmasını zorlaştırır), ancak bu komut dosyasında çalışır.
Dökümanlar