Buat Bilah Kemajuan di Bash

Buat Bilah Kemajuan Di Bash



Ketika diperlukan untuk menunggu waktu yang tetap selama eksekusi skrip, lebih baik membuat bilah progres untuk memberi tahu pengguna untuk menunggu beberapa saat. Bilah progres dapat dibuat menggunakan skrip Bash sederhana atau menggunakan beberapa perintah Linux bawaan seperti 'cv', 'dialog', dll. Metode membuat bilah progres menggunakan skrip Bash ditunjukkan dalam tutorial ini.

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 pv

Anda 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/bash

gema '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 dialog

Buat 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.