Etkileşimli kabuk komut dosyası iletişim kutusu oluşturun

Terminal ortamına yeni bir yazılım yüklediğinizde, genellikle giriş yapmanız gereken bilgi iletişim kutusunun açıldığını görebilirsiniz, örneğin: RHEL / CentOS kurulumla birlikte gelir, iletişim kutusu türleri şifre kutusu, kontrol listesi, menü vb. İçerir. . Gerekli bilgileri sezgisel bir şekilde girmeniz için size rehberlik edebilirler ve böylesine kullanıcı dostu bir iletişim kutusu kullanmanın faydaları açıktır. Aşağıda gösterildiği gibi:

Etkileşimli bir kabuk komut dosyası yazdığınızda, kullanıcı girdisini kabul etmek için böyle bir iletişim kutusu kullanabilirsiniz. Whiptail, Zenity veya xdialog GUI betik kodlarına benzer şekilde, kabuk betiklerinde uçbirim tabanlı diyaloglar ve mesaj kutusu işlemleri oluşturabilir. Whiptail, tüm Linux dağıtımlarında önceden yüklenmiştir.

Bir mesaj kutusu oluşturun

Herhangi bir metin mesajına devam etmek için bir mesaj kutusu bir onay düğmesi görüntüler.

dilbilgisi:

kırbaç - başlık " < mesaj kutusu başlığı > "--msgbox" < gösterilecek metin > " < yükseklik > < Genişlik >

Örnekler:

#! / bin / bash

whiptail --title "Mesaj Kutusunu Test Et" --msgbox "Kamçı kuyruklu bir mesaj kutusu oluşturun. Devam etmek için Tamam'ı seçin." 1060

Evet / hayır diyaloğu oluştur

Kullanıcının evet veya hayır girmesi için bir iletişim kutusu.

dilbilgisi:

kırbaç - başlık " < iletişim kutusu başlığı > "--Evet Hayır" < gösterilecek metin > " < yükseklik > < Genişlik >

Örnekler:

#! / bin / bash

eğer (whiptail - title "Test Evet / Hayır Kutu" --yesno "Evet ve Hayır arasında seçim yapın" 1060) o zaman

echo "Evet'i seçtiniz. Çıkış durumu $ mı ?."

Başka

echo "Hayır'ı seçtiniz. Çıkış durumu $ mıydı ?."

fi

Ya da "--yes-button", "--no-button" seçeneklerini kullanabilirsiniz.

#! / bin / bash

eğer (whiptail --title "Test Yes / No Box" --yes-button "Skittles" - düğmesiz "MM'ler" --yesno "Hangisini daha çok seviyorsun?" 1060) o zaman

echo "Skittles Çıkış durumunu $ olarak mı seçtiniz ?."

Başka

echo "MM'leri seçtiniz. Çıkış durumu $ mıydı ?."

fi

Bir form giriş kutusu oluşturun

Kullanıcının rastgele metin girmesini istiyorsanız, bir giriş kutusu kullanabilirsiniz.

dilbilgisi:

kırbaç - başlık " < giriş kutusu başlığı > "--inputbox" < gösterilecek metin > " < yükseklik > < Genişlik > < Varsayılan metin >

Örnekler:

#! / bin / bash

PET = $ (whiptail --title "Serbest Biçimli Giriş Kutusunu Test Et" --inputbox "Evcil hayvanınızın adı nedir?" 1060 Wigglebutt 3 > 11 > yirmi iki > 3)

exitstatus = $?

; o zaman

echo "Evcil hayvanınızın adı:" $ PET

Başka

echo "İptal'i seçtiniz."

fi

Bir şifre kutusu oluşturun

Parola kutusu, kullanıcının hassas bilgileri girmesi gerektiğinde kullanışlıdır.

dilbilgisi:

kırbaç - başlık " < şifre kutusu başlığı > "--passwordbox" < gösterilecek metin > " < yükseklik > < Genişlik >

Örnekler:

#! / bin / bash

ŞİFRE = $ (whiptail --title "Şifre Kutusunu Test Et" - şifre kutusu "Şifrenizi girin ve devam etmek için Tamam'ı seçin." 10603 > 11 > yirmi iki > 3)

exitstatus = $?

; o zaman

echo "Şifreniz:" $ PASSWORD

Başka

echo "İptal'i seçtiniz."

fi

Menü çubuğu oluşturun

Kullanıcının rastgele bir sayıda seçenek seçmesini istediğinizde, menü kutusunu kullanabilirsiniz.

dilbilgisi:

kırbaç - başlık " < menü başlığı > "--Menü" < gösterilecek metin > " < yükseklik > < Genişlik > < menü yüksekliği > < < etiket > < eşya > > ...

Örnekler:

#! / bin / bash

SEÇENEK = $ (whiptail --title "Test Menüsü İletişim Kutusu" --menu "Seçeneğinizi seçin" 15604 \

"1" "Izgara Baharatlı Sosis" \

"2" "Izgara Hellim Peyniri" \

"3" "Kömürlü Tavuk Kanadı" \

"4" "Patlıcan Kızartması" 3 > 11 > yirmi iki > 3)

exitstatus = $?

; o zaman

echo "Seçtiğiniz seçenek:" $ OPTION

Başka

echo "İptal'i seçtiniz."

fi

Radyolist iletişim kutusu oluştur

dilbilgisi:

kırbaç - başlık " < radyolist başlığı > "--radiolist" < gösterilecek metin > " < yükseklik > < Genişlik > < liste yüksekliği > < < etiket > < eşya > < statü > > ...

Örnekler:

#! / bin / bash

DISTROS = $ (whiptail --title "Test Kontrol Listesi İletişim Kutusu" --radiolist \

"Seçtiğiniz Linux dağıtımı nedir?" 15604 \

"debian" "Saygıdeğer Debian" AÇIK \

"ubuntu" "Popüler Ubuntu" KAPALI \

"centos" "Kararlı CentOS" KAPALI \

"nane" "Yükselen Yıldız Darphanesi" KAPALI 3 > 11 > yirmi iki > 3)

exitstatus = $?

; o zaman

echo "Seçilen dağıtım:" $ DISTROS

Başka

echo "İptal'i seçtiniz."

fi

Tablo oluştur iletişim kutusu

Liste diyaloğu, kullanıcının bir listede birden fazla seçenek seçmesini istediğinizde kullanışlıdır Radyolist diyalog penceresi yalnızca birinin seçilmesine izin verir.

dilbilgisi:

kırbaç - başlık " < kontrol listesi başlığı > "--checklist" < gösterilecek metin > " < yükseklik > < Genişlik > < liste yüksekliği > < < etiket > < eşya > < statü > > ...

Örnekler:

#! / bin / bash

DISTROS = $ (whiptail --title "Test Kontrol Listesi İletişim Kutusu" - kontrol listesi \

"Tercih edilen Linux dağıtımlarını seçin" 15604 \

"debian" "Saygıdeğer Debian" AÇIK \

"ubuntu" "Popüler Ubuntu" KAPALI \

"centos" "Kararlı CentOS" AÇIK \

"nane" "Yükselen Yıldız Darphanesi" KAPALI 3 > 11 > yirmi iki > 3)

exitstatus = $?

; o zaman

echo "Favori dağıtımlarınız:" $ DISTROS

Başka

echo "İptal'i seçtiniz."

fi

Bir ilerleme çubuğu oluşturun

İlerleme çubuğu, kullanıcı dostu bir iletişim kutusudur. Whiptail, standart girişten bir yüzde (0-100) okur ve karşılık gelen sayımı bir tabloda görüntüler.

dilbilgisi:

whiptail --gauge " < göstermek için test > " < yükseklik > < Genişlik > < ilk yüzde >

Örnekler:

#! / bin / bash

{

için ((i = 0; i < = 100; i + = 20)); yapmak

uyku 1

echo $ i

bitti

} | whiptail --gauge "Yüklerken lütfen bekleyin" 6600

Daimler üç şirkete ayrılacak, Çin'i ne kadar etkileyecek?
önceki
510 al ve benzeri, Geelynin en son SUVu 40.000den fazla, içi ZSden daha iyi ve otomatik şanzıman var.
Sonraki
Nanhua Biotech'in ana gücü şirkette bir yıl sonra askıya alındı, ancak hissedarlar listesi sermaye operasyonunun izlerini ortaya koyuyor
2018'de yazarın zihninde en çok satın almaya değer orta boy araba önerisi
WEY'in öfkesini ve ortak girişimini önleyen Lynk & Co'nun teknolojisi ne kadar iyi?
Aile Yanı Konferansı Deqing "Yabancı Ev Müziği" nasıl yapılır?
Ejderha ve Kaplan Sıralaması: Foshan Wuyingjiao, Changlu'dan; üvey kardeş Jiacang Enlightenment Design
Ön yüz 500.000 ve iç mekan 800.000 S-sınıfından daha moda.Aslında bu orta seviye SUV sadece 110.000.
Aile Yanı Konferansı Boş zaman yaşamının yükselişi, aile yanında konaklama endüstrisinin gelişimini destekler
Geniş ve zehirli Mercedes-Benz istasyon vagonu C63 AMG'ye dönüşmez!
Standart olarak ESP Continental lastikleri ile donatılmış, H6'dan bir tur daha geniş ve garanti 8 yıl boyunca 80.000'den az.
Domuz eti fiyatı günlük 7 hisse senedi limitini aşıyor
Bu sizin yemeğiniz mi? Seyahat versiyonu IS300 değiştirildi
Günlük limit yeniden başlama-kısa vadeli piyasa, yüksek ve düşük alım için uygundur
To Top