Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Підводячи підсумки

З нашими знаннями про та цінності команди, ми зараз застосуємо останні вдосконалення до нашого сторінка sys_info сценарій. В даний час, домашній_простор звіту функція виглядає так:



report_home_space () {

якщо [[ $(id -u) -eq 0 ]]; потім кіт <<- _EOF_

Використання домашнього простору (всі користувачі)

$(du -sh /home/*)

_EOF_

ще

кіт <<- _EOF_

Використання домашнього простору ($USER)

$(du -sh $HOME)

_EOF_

fi повернення

}

report_home_space () {

якщо [[ $(id -u) -eq 0 ]]; потім кіт <<- _EOF_

Використання домашнього простору (всі користувачі)

$(du -sh /home/*)

_EOF_

ще

кіт <<- _EOF_

Використання домашнього простору ($USER)

$(du -sh $HOME)

_EOF_

fi повернення

}


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



report_home_space () {

report_home_space () {


локальний формат="%8s%10s%10s\n"

local i dir_list total_files total_dirs total_size user_name


якщо [[ $(id -u) -eq 0 ]]; потім dir_list=/home/* user_name="Всі користувачі"

ще

dir_list=$HOME user_name=$USER

fi


луна" Використання домашнього простору ($user_name) " for 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" "Size" printf "$format" "----" "-----" "----"

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

зроблено повернення

}

локальний формат="%8s%10s%10s\n"

local i dir_list total_files total_dirs total_size user_name


якщо [[ $(id -u) -eq 0 ]]; потім dir_list=/home/* user_name="Всі користувачі"

ще

dir_list=$HOME user_name=$USER

fi


луна" Використання домашнього простору ($user_name) " for 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" "Size" printf "$format" "----" "-----" "----"

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

зроблено повернення

}


Цей перепис застосовує багато з того, що ми навчилися досі. Ми все ще тестуємо для суперкористувача, але замість того, щоб виконувати повний набір дій як частину if, ми встановлюємо деякі змінні, використані пізніше в циклі for. Ми додали кілька локальних змінних до функції та використали їх printf щоб відформатувати частину виводу.


Найпопулярніші хмарні обчислення ОС на OnWorks: