OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

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


Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: