Contoh 1:
Buat file bash dengan skrip berikut. Ketika Anda akan menjalankan skrip, itu akan berlanjut hingga pengguna menekan tombol apa saja. Script akan menunggu input pengguna setiap 3 detik dan jika pengguna tidak menekan tombol apa pun maka akan mencetak pesan, menunggu penekanan tombol .
#!/bin/bash
dibuang 'Tekan tombol apa saja untuk melanjutkan'
ketika [ benar ];melakukan
Baca -T 3 -n 1
jika [ $?=0 ];kemudian
keluar;
lain
dibuang 'menunggu penekanan tombol'
menjadi
selesai
Jalankan skrip.
$pestakunci1.sh
Keluaran:
Contoh #2:
Buat file bash dengan skrip berikut. Perulangan while tak terbatas digunakan dalam contoh ini yang akan berhenti ketika pengguna menekan 'q'. Jika pengguna menekan sembarang tombol tanpa 'q' maka nilai variabel penghitung akan bertambah 1 dan mencetak nilainya.
#!/bin/bashdibuang 'Tekan 'q' untuk keluar'
menghitung=0
ketika:;melakukan
Baca -n 1ke<&1
jika [[ $ k= q]];kemudian
printf ' Keluar dari program '
merusak
lain
((menghitung=$hitung+1))
printf ' Ulangi untuk$hitungwaktu '
dibuang 'Tekan 'q' untuk keluar'
menjadi
selesai
Jalankan skrip.
$pestakunci2.sh
Keluaran:
Contoh #3:
Buat file bash dengan skrip berikut yang akan melakukan berbagai jenis tugas berdasarkan tombol yang ditekan oleh pengguna. Jika pengguna menekan '1' maka itu akan menambahkan dua argumen baris perintah dan mencetak. Jika pengguna menekan '2' maka itu akan mengurangi dua argumen baris perintah dan mencetak. Script akan berjalan terus menerus sampai pengguna menekan '3'.
#!/bin/bashv1=$1
v2=$2
ketika:
melakukan
dibuang '1. Tambahan'
dibuang '2. Pengurangan'
dibuang '3. Berhenti'
dibuang -n 'Tipe 1 atau 2 atau 3 :'
Baca -n 1 -T limabelaske
printf ' '
kasus $ a di dalam
1* ) dibuang '$v1+$v2=$(($v1+$v2)) ';;
2* ) dibuang '$v1-$v2=$(($v1-$v2)) ';;
3* ) keluar 0;;
* ) dibuang 'Coba lagi.';;
esac
selesai
Jalankan skrip dengan dua nilai argumen numerik.
$pestakunci3.sh35 limabelasKeluaran:
Contoh#4:
Buat file bash dengan skrip berikut. Script akan berhenti ketika pengguna menekan tombol ESC. Script ini akan mencetak tombol yang ditekan oleh pengguna sampai tombol ESC ditekan.
#!/bin/bashmasukan pengguna=''
dibuang 'Tekan tombol ESC untuk keluar'
# membaca satu karakter
ketika Baca -R -n1kunci
melakukan
# jika masukan == kunci ESC
jika [[ $kunci== $'Dan' ]];
kemudian
merusak;
menjadi
# Tambahkan kunci ke variabel yang ditekan oleh pengguna.
masukan pengguna+=$kunci
selesai
printf ' Anda telah mengetik:$masukan pengguna '
Jalankan skrip.
$pestakunci4.shKeluaran:
Contoh#5:
Buat file bash dengan kode berikut yang akan menunggu kunci ENTER untuk mengakhiri skrip. Script akan mengambil nama server sebagai input dan akan mencoba melakukan ping ke server setiap 2 detik. Jika perintah ping mendapat respons dari server maka skrip akan dihentikan dengan menampilkan output jika tidak, ia akan menunggu respons pengguna atau tombol ENTER dengan mencetak pesan, Mencoba terhubung dengan….
#!/bin/bashdibuang 'Masukkan alamat server yang ingin Anda ping'
Bacaserver
ketika ! ping -C 1 -n -DI DALAM 2 $server
melakukan
dibuang 'Mencoba terhubung dengan$server'
dibuang 'Tekan [ENTER] untuk mengakhiri'
Baca -S -N 1 -T 1kunci
jika [[ $kunci== $' x0a' ]];# jika input == tombol ENTER
kemudian
keluar 0
menjadi
selesai
printf '%S ' '$serversedang berlari'
Jalankan skrip.
$pestakunci5.shKeluaran:
Kesimpulan:
Tutorial ini menunjukkan bagaimana Anda dapat menulis skrip bash dengan berbagai cara yang akan menunggu input pengguna untuk melakukan tugas tertentu atau menghentikan skrip. Harapannya, setelah mempraktikkan contoh di atas, Anda akan dapat menulis skrip sedemikian rupa sehingga dapat menunggu penekanan tombol apa pun dan melakukan tugas tertentu berdasarkan tombol yang ditekan oleh pengguna.