Contoh Berbeda Membuat Progress Bar di Bash
Berbagai cara mengimplementasikan bilah kemajuan di Bash ditunjukkan di bagian tutorial ini.
Contoh 1: Menerapkan Bilah Kemajuan Sederhana tanpa Perintah Apa Pun
Buat file Bash dengan skrip berikut yang menampilkan bilah progres menggunakan karakter '#' dan perintah 'tidur'. Perintah 'printf' digunakan di sini untuk menampilkan bilah progres. Bilah kemajuan dibagi menjadi empat bagian. 25% ditampilkan setelah 1 detik. 50% ditampilkan setelah 3 detik. 75% ditampilkan setelah 2 detik. 100% ditampilkan setelah 1 detik.
#!/bin/bash
printf ' \N Tunggu untuk menyelesaikan tugas... \N \N '
#Tunggu 1 detik
tidur 1
#Cetak bagian pertama bilah progres
printf '[###### ] 25%% selesai. \R '
#Tunggu selama 3 detik
tidur 3
#Cetak bagian kedua bilah kemajuan
printf '[########## ] 50%% selesai. \R '
#Tunggu selama 2 detik
tidur 2
#Cetak bagian ketiga bilah kemajuan
printf '[################## ] 75%% selesai. \R '
#Tunggu 1 detik
tidur 1
#Cetak bilah kemajuan terakhir
printf '[######################] 100%% selesai. \R '
printf ' \N \N Tugas selesai. \N \N '
.
Output berikut muncul setelah 1 detik mengeksekusi skrip:
Output berikut muncul setelah 7 detik mengeksekusi skrip:
Contoh 2: Menerapkan Bilah Kemajuan Menggunakan Perintah 'Pv'.
Bentuk lengkap dari perintah 'pv' adalah 'penampil pipa'. Ini digunakan untuk memantau kemajuan data yang melewati pipa dan menampilkan bilah kemajuan berdasarkan ukuran data. Perintah ini tidak diinstal secara default di sistem. Jalankan perintah berikut untuk menginstal perintah 'pv' sebelum mempraktikkan skrip contoh ini:
$ sudo tepat Install pvAnda harus memilih file berukuran besar yang disalin dari satu lokasi ke lokasi lain. Buat file Bash dengan skrip berikut yang menyalin file 'test.txt' dari lokasi saat ini ke lokasi '/home/fahmida/temp/'. Perintah 'pv' digunakan di sini untuk menampilkan bilah progres. Bilah progres ditampilkan berdasarkan ukuran file 'test.txt'.
#!/bin/bashgema 'Menyalin file dari satu lokasi ke lokasi lain.'
#Tunggu selama 2 detik
tidur 2
#Salin file ke tujuan
kucing test.txt | pv -S $ ( stat -C % s test.txt ) > / rumah / memahami / suhu / test.txt
gema 'File telah disalin.'
Output berikut ditampilkan setelah menyelesaikan eksekusi skrip:
Contoh 3: Menerapkan Bilah Kemajuan Menggunakan Perintah 'Dialog'.
Cara lain untuk mengimplementasikan bilah kemajuan di Bash adalah menggunakan perintah 'dialog'. Perintah ini dapat digunakan untuk menampilkan bilah kemajuan yang terlihat bagus di terminal. Banyak jenis widget dapat ditampilkan menggunakan progress bar ini. Tugas bilah kemajuan yang ditampilkan oleh perintah ini dapat dikontrol oleh skrip Bash. Bilah kemajuan ini tidak dipasang di sistem secara default. Jalankan perintah berikut untuk menginstal bilah kemajuan ini di sistem:
$ sudo tepat Install dialogBuat file Bash dengan skrip berikut yang menampilkan bilah progres menggunakan perintah 'dialog'. Tugas menyalin file “/etc/passwd” ke lokasi “/home/fahmida/tempdir” ditampilkan menggunakan progress bar. Bilah kemajuan dibagi menjadi lima bagian; setiap bagian ditampilkan setelah 2 detik. Opsi –title digunakan dalam perintah 'dialog' untuk menampilkan judul bilah kemajuan. Opsi –gauge digunakan dalam perintah 'dialog' untuk menampilkan bilah progres dengan tinggi 10 baris dan lebar 100 karakter. Pesan 'Menunggu untuk menyelesaikan tugas' ditampilkan di atas bilah kemajuan.
#!/bin/bash#Inisialisasi penghitung
current_pos = 0
(
#Tentukan loop tak terbatas
untuk ( ( ;; ) )
Mengerjakan
kucing <
pembatas
$current_pos
#Tampilkan nilai penghitung saat ini
cp /etc/passwd ke /home/fahmida/tempdir ( $current_pos%):
pembatas
EOF
#Meningkatkan penghitung sebanyak 20
( ( current_pos+= dua puluh ) )
#Hentikan dari loop ketika nilai penghitung lebih dari 100
[ $current_pos -gt 100 ] && merusak
#Tunggu selama 2 detik setelah setiap penambahan
tidur 2
Selesai
) | dialog --judul 'Menyalin file...' --mengukur 'Menunggu untuk menyelesaikan tugas' 10 100 0
Output berikut muncul setelah 6 detik mengeksekusi skrip:
Output berikut muncul setelah 10 detik mengeksekusi skrip:
Kesimpulan
Berbagai cara mengembangkan bilah progres menggunakan skrip Bash ditunjukkan dalam tutorial ini untuk membantu pengguna Bash menggunakan bilah progres pada program mereka.