<Trước | Nội dung | Tiếp theo>
Tổng hợp Up
Với kiến thức của chúng tôi về cho lệnh, bây giờ chúng tôi sẽ áp dụng các cải tiến cuối cùng cho sys_info_page kịch bản. Hiện tại, report_home_space hàm trông như thế này:
report_home_space () {
if [[$ (id -u) -eq 0]]; sau đó mèo << - _EOF_
Sử dụng không gian gia đình (Tất cả người dùng)
$ (du -sh / home / *)
_EOF_
khác
con mèo << - _EOF_
Sử dụng không gian gia đình ($ USER)
$ (du -sh $ HOME)
_EOF_
fi trở lại
}
report_home_space () {
if [[$ (id -u) -eq 0]]; sau đó mèo << - _EOF_
Sử dụng không gian gia đình (Tất cả người dùng)
$ (du -sh / home / *)
_EOF_
khác
con mèo << - _EOF_
Sử dụng không gian gia đình ($ USER)
$ (du -sh $ HOME)
_EOF_
fi trở lại
}
Tiếp theo, chúng tôi sẽ viết lại nó để cung cấp chi tiết hơn cho thư mục chính của mỗi người dùng và bao gồm tổng số tệp và thư mục con trong mỗi:
report_home_space () {
report_home_space () {
định dạng cục bộ = "% 8s% 10s% 10s \ n"
local tôi dir_list total_files total_dirs total_size user_name
if [[$ (id -u) -eq 0]]; thì dir_list = / home / * user_name = "Tất cả người dùng"
khác
dir_list = $ HOME user_name = $ USER
fi
tiếng vang " Sử dụng không gian gia đình ($ user_name) "cho tôi trong $ dir_list; làm
total_files = $ (tìm $ i -type f | wc -l) total_dirs = $ (tìm $ i -type d | wc -l) total_size = $ (du -sh $ i | cut -f 1)
tiếng vang " $ i "tiếng vang" "
printf "$ format" "Dirs" "Tệp" "Kích thước" printf "$ format" "----" "-----" "----"
printf "$ format" $ total_dirs $ total_files $ total_size echo " "
hoàn thành trở lại
}
định dạng cục bộ = "% 8s% 10s% 10s \ n"
local tôi dir_list total_files total_dirs total_size user_name
if [[$ (id -u) -eq 0]]; thì dir_list = / home / * user_name = "Tất cả người dùng"
khác
dir_list = $ HOME user_name = $ USER
fi
tiếng vang " Sử dụng không gian gia đình ($ user_name) "cho tôi trong $ dir_list; làm
total_files = $ (tìm $ i -type f | wc -l) total_dirs = $ (tìm $ i -type d | wc -l) total_size = $ (du -sh $ i | cut -f 1)
tiếng vang " $ i "tiếng vang" "
printf "$ format" "Dirs" "Tệp" "Kích thước" printf "$ format" "----" "-----" "----"
printf "$ format" $ total_dirs $ total_files $ total_size echo " "
hoàn thành trở lại
}
Việc viết lại này áp dụng phần lớn những gì chúng ta đã học được cho đến nay. Chúng tôi vẫn kiểm tra superuser, nhưng thay vì thực hiện toàn bộ các hành động như một phần của if, chúng tôi đặt một số biến thể được sử dụng sau này trong vòng lặp for. Chúng tôi đã thêm một số biến cục bộ vào hàm và sử dụng printf để định dạng một số đầu ra.
<Trước | Nội dung | Tiếp theo>