Các ví dụ khác nhau về việc tạo Thanh tiến trình trong Bash
Các cách khác nhau để triển khai thanh tiến trình trong Bash được trình bày trong phần hướng dẫn này.
Ví dụ 1: Triển khai Thanh tiến trình đơn giản mà không cần bất kỳ lệnh nào
Tạo tệp Bash bằng tập lệnh sau hiển thị thanh tiến trình bằng cách sử dụng ký tự “#” và lệnh “ngủ”. Lệnh “printf” được sử dụng ở đây để hiển thị thanh tiến trình. Thanh tiến trình được chia thành bốn phần. 25% được hiển thị sau 1 giây. 50% được hiển thị sau 3 giây. 75% được hiển thị sau 2 giây. 100% được hiển thị sau 1 giây.
#!/bin/bash
bản inf ' \N Chờ hoàn thành nhiệm vụ... \N \N '
#Chờ 1 giây
ngủ 1
#In phần đầu tiên của thanh tiến trình
bản inf '[##### ] 25%% đã hoàn thành. \ r '
#Đợi trong 3 giây
ngủ 3
#In phần thứ hai của thanh tiến trình
bản inf '[########## ] Đã hoàn thành 50%. \ r '
#Đợi trong 2 giây
ngủ 2
#In phần thứ ba của thanh tiến trình
bản inf '[############### ] Đã hoàn thành 75%. \ r '
#Chờ 1 giây
ngủ 1
#In phần cuối cùng của thanh tiến trình
bản inf '[####################] 100%% hoàn thành. \ r '
bản inf ' \N \N Nhiệm vụ hoàn thành. \N \N '
.
Đầu ra sau xuất hiện sau 1 giây thực thi tập lệnh:
Đầu ra sau xuất hiện sau 7 giây thực thi tập lệnh:
Ví dụ 2: Triển khai Thanh tiến trình bằng lệnh “Pv”
Dạng đầy đủ của lệnh “pv” là “pipe viewer”. Nó được sử dụng để theo dõi tiến trình của dữ liệu được truyền qua đường ống và hiển thị thanh tiến trình dựa trên kích thước của dữ liệu. Lệnh này không được cài đặt mặc định trong hệ thống. Chạy lệnh sau để cài đặt lệnh “pv” trước khi thực hành tập lệnh của ví dụ này:
$ sudo đúng cách cài đặt pvBạn phải chọn một tệp có kích thước lớn được sao chép từ vị trí này sang vị trí khác. Tạo tệp Bash bằng tập lệnh sau để sao chép tệp “test.txt” từ vị trí hiện tại sang vị trí “/home/fahmida/temp/”. Lệnh “pv” được sử dụng ở đây để hiển thị thanh tiến trình. Thanh tiến trình được hiển thị dựa trên kích thước của tệp “test.txt”.
#!/bin/bashtiếng vang msgstr 'Sao chép tập tin từ vị trí này sang vị trí khác.'
#Đợi trong 2 giây
ngủ 2
#Copy tệp đến đích
con mèo test.txt | pv -S $ ( thống kê -c % s test.txt ) > / trang chủ / sự hiểu biết / nhiệt độ / test.txt
tiếng vang msgstr 'Tập tin đã được sao chép.'
Đầu ra sau đây được hiển thị sau khi hoàn thành việc thực thi tập lệnh:
Ví dụ 3: Thực hiện Progress Bar bằng lệnh “Dialog”
Một cách khác để triển khai thanh tiến trình trong Bash là sử dụng lệnh “hộp thoại”. Lệnh này có thể được sử dụng để hiển thị thanh tiến trình đẹp mắt trong thiết bị đầu cuối. Nhiều loại vật dụng có thể được hiển thị bằng thanh tiến trình này. Nhiệm vụ của thanh tiến trình được hiển thị bởi lệnh này có thể được kiểm soát bởi tập lệnh Bash. Theo mặc định, thanh tiến trình này không được cài đặt trong hệ thống. Chạy lệnh sau để cài đặt thanh tiến trình này trong hệ thống:
$ sudo đúng cách cài đặt hộp thoạiTạo một tệp Bash bằng tập lệnh sau hiển thị thanh tiến trình bằng cách sử dụng lệnh “hộp thoại”. Tác vụ sao chép tệp “/etc/passwd” vào vị trí “/home/fahmida/tempdir” được hiển thị bằng thanh tiến trình. Thanh tiến trình được chia thành năm phần; mỗi phần được hiển thị sau 2 giây. Tùy chọn –title được sử dụng trong lệnh “hộp thoại” để hiển thị tiêu đề của thanh tiến trình. Tùy chọn –gauge được sử dụng trong lệnh “hộp thoại” để hiển thị thanh tiến trình với chiều cao 10 dòng và chiều rộng 100 ký tự. Thông báo “Đang chờ hoàn thành tác vụ” được hiển thị phía trên thanh tiến trình.
#!/bin/bash#Khởi tạo bộ đếm
hiện tại_pos = 0
(
#Xác định vòng lặp vô hạn
vì ( ( ;; ) )
LÀM
con mèo <
dấu phân cách
$current_pos
#Hiển thị giá trị bộ đếm hiện tại
cp /etc/passwd tới /home/fahmida/tempdir ($current_pos%):
dấu phân cách
EOF
# Tăng bộ đếm lên 20
( ( current_pos+= hai mươi ) )
# Chấm dứt vòng lặp khi giá trị bộ đếm lớn hơn 100
[ $current_pos -gt 100 ] && phá vỡ
# Chờ 2 giây sau mỗi lần tăng
ngủ 2
xong
) | hộp thoại --tiêu đề 'Đang sao chép tập tin...' --máy đo 'Chờ hoàn thành nhiệm vụ' 10 100 0
Đầu ra sau xuất hiện sau 6 giây thực thi tập lệnh:
Đầu ra sau xuất hiện sau 10 giây thực thi tập lệnh:
Phần kết luận
Các cách khác nhau để phát triển thanh tiến trình sử dụng tập lệnh Bash được trình bày trong hướng dẫn này để giúp người dùng Bash sử dụng thanh tiến trình trên chương trình của họ.