OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

Memecah Keluar Dari Gelung

bash menyediakan dua arahan terbina yang boleh digunakan untuk mengawal aliran program di dalam gelung. Perintah break dengan serta-merta menamatkan gelung, dan kawalan program diteruskan dengan penyataan seterusnya mengikuti gelung. Arahan continue menyebabkan baki gelung dilangkau, dan kawalan program diteruskan dengan lelaran gelung seterusnya. Di sini kita melihat versi program menu sementara yang menggabungkan kedua-dua break dan continue:


#! / Bin / Bash


# while-menu2: program maklumat sistem dipacu menu DELAY=3 # Bilangan saat untuk memaparkan keputusan

manakala benar; buat

jelas

kucing <<- _EOF_

Sila Pilih:


1. Paparan Maklumat Sistem

2. Paparkan Ruang Cakera

3. Paparkan Penggunaan Ruang Rumah

0. Berhenti


_EOF_

baca -p "Masukkan pilihan [0-3] > "


jika [[ $REPLY =~ ^[0-3]$ ]]; maka jika [[ $REPLY == 1 ]]; kemudian

echo "Nama hos: $HOSTNAME" masa hidup

tidur $DELAY

terus

fi

jika [[ $REPLY == 2 ]]; kemudian df -h

tidur $DELAY

terus

fi

jika [[ $REPLY == 3 ]]; kemudian

jika [[ $(id -u) -eq 0 ]]; kemudian

echo "Penggunaan Ruang Rumah (Semua Pengguna)" du -sh /home/*

lagi

#! / Bin / Bash


# while-menu2: program maklumat sistem dipacu menu DELAY=3 # Bilangan saat untuk memaparkan keputusan

manakala benar; buat

jelas

kucing <<- _EOF_

Sila Pilih:


1. Paparan Maklumat Sistem

2. Paparkan Ruang Cakera

3. Paparkan Penggunaan Ruang Rumah

0. Berhenti


_EOF_

baca -p "Masukkan pilihan [0-3] > "


jika [[ $REPLY =~ ^[0-3]$ ]]; maka jika [[ $REPLY == 1 ]]; kemudian

echo "Nama hos: $HOSTNAME" masa hidup

tidur $DELAY

terus

fi

jika [[ $REPLY == 2 ]]; kemudian df -h

tidur $DELAY

terus

fi

jika [[ $REPLY == 3 ]]; kemudian

jika [[ $(id -u) -eq 0 ]]; kemudian

echo "Penggunaan Ruang Rumah (Semua Pengguna)" du -sh /home/*

lagi


echo "Penggunaan Ruang Rumah ($USER)" du -sh $HOME

fi

tidur $DELAY

terus

fi

jika [[ $REPLY == 0 ]]; kemudian pecah

fi

lagi

echo "Entri tidak sah." tidur $DELAY

fi selesai

echo "Program ditamatkan."

echo "Penggunaan Ruang Rumah ($USER)" du -sh $HOME

fi

tidur $DELAY

terus

fi

jika [[ $REPLY == 0 ]]; kemudian pecah

fi

lagi

echo "Entri tidak sah." tidur $DELAY

fi selesai

echo "Program ditamatkan."


Dalam versi skrip ini, kami menyediakan satu gelung tidak berkesudahan (yang tidak pernah tamat dengan sendirinya) dengan menggunakan benar arahan untuk membekalkan status keluar kepada manakala. Sejak benar akan sentiasa keluar dengan status keluar sifar, gelung tidak akan berakhir. Ini adalah teknik skrip biasa yang mengejutkan. Memandangkan gelung tidak akan berakhir dengan sendirinya, terpulang kepada pengaturcara untuk menyediakan beberapa cara untuk keluar daripada gelung apabila masa yang sesuai. Dalam skrip ini, memecahkan arahan digunakan untuk keluar dari gelung apabila pemilihan "0" dipilih. The teruskan arahan telah disertakan pada penghujung pilihan skrip lain untuk membolehkan pelaksanaan yang lebih cekap. Dengan menggunakan terus, skrip akan melangkau kod yang tidak diperlukan apabila pilihan dikenal pasti. Sebagai contoh, jika pilihan "1" dipilih dan dikenal pasti, tiada sebab untuk menguji pilihan lain.


 

Pengkomputeran Awan OS teratas di OnWorks: