Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Подведение итогов

С нашим знанием для теперь мы применим последние улучшения к нашему sys_info_page сценарий. В настоящее время report_home_space функция выглядит так:



отчет_домашнее_пространство () {

если [[$ (id -u) -eq 0]]; затем cat << - _EOF_

Использование домашнего пространства (все пользователи)

$ (du -sh / home / *)

_EOF_

еще

кошка << - _EOF_

Использование домашнего пространства ($ USER)

$ (du -sh $ HOME)

_EOF_

fi возвращение

}

отчет_домашнее_пространство () {

если [[$ (id -u) -eq 0]]; затем cat << - _EOF_

Использование домашнего пространства (все пользователи)

$ (du -sh / home / *)

_EOF_

еще

кошка << - _EOF_

Использование домашнего пространства ($ USER)

$ (du -sh $ HOME)

_EOF_

fi возвращение

}


Затем мы перепишем его, чтобы предоставить более подробную информацию о домашнем каталоге каждого пользователя и включить общее количество файлов и подкаталогов в каждом:



отчет_домашнее_пространство () {

отчет_домашнее_пространство () {


local format = "% 8s% 10s% 10s \ n"

local i dir_list total_files total_dirs total_size имя_пользователя


если [[$ (id -u) -eq 0]]; затем dir_list = / home / * user_name = "Все пользователи"

еще

dir_list = $ HOME имя_пользователя = $ USER

fi


эхо " Использование домашнего пространства ($ user_name) "для i в $ dir_list; сделать

total_files = $ (найти $ i -тип f | wc -l) total_dirs = $ (найти $ i -тип d | wc -l) total_size = $ (du -sh $ i | cut -f 1)


эхо " $ i "эхо" "

printf "$ format" "Dirs" "Files" "Размер" printf "$ format" "----" "-----" "----"

printf "$ format" $ total_dirs $ total_files $ total_size echo " "

сделано возвращение

}

local format = "% 8s% 10s% 10s \ n"

local i dir_list total_files total_dirs total_size имя_пользователя


если [[$ (id -u) -eq 0]]; затем dir_list = / home / * user_name = "Все пользователи"

еще

dir_list = $ HOME имя_пользователя = $ USER

fi


эхо " Использование домашнего пространства ($ user_name) "для i в $ dir_list; сделать

total_files = $ (найти $ i -тип f | wc -l) total_dirs = $ (найти $ i -тип d | wc -l) total_size = $ (du -sh $ i | cut -f 1)


эхо " $ i "эхо" "

printf "$ format" "Dirs" "Files" "Размер" printf "$ format" "----" "-----" "----"

printf "$ format" $ total_dirs $ total_files $ total_size echo " "

сделано возвращение

}


Это переписывание применяет многое из того, что мы узнали до сих пор. Мы по-прежнему тестируем суперпользователя, но вместо того, чтобы выполнять полный набор действий как часть if, мы устанавливаем некоторые переменные, которые позже будут использоваться в цикле for. Мы добавили в функцию несколько локальных переменных и использовали Printf для форматирования части вывода.


Лучшие облачные вычисления для ОС в OnWorks: