Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Resumindo

Com nosso conhecimento do for comando, vamos agora aplicar as melhorias finais ao nosso sys_info_page roteiro. Atualmente, o report_home_space função se parece com isto:



report_home_space () {

if [[$ (id -u) -eq 0]]; então gato << - _EOF_

Utilização do espaço doméstico (todos os usuários)

$ (du -sh / home / *)

_EOF_

outro

gato << - _EOF_

Utilização do espaço doméstico ($ USER)

$ (du -sh $ HOME)

_EOF_

fi voltar

}

report_home_space () {

if [[$ (id -u) -eq 0]]; então gato << - _EOF_

Utilização do espaço doméstico (todos os usuários)

$ (du -sh / home / *)

_EOF_

outro

gato << - _EOF_

Utilização do espaço doméstico ($ USER)

$ (du -sh $ HOME)

_EOF_

fi voltar

}


A seguir, iremos reescrevê-lo para fornecer mais detalhes para o diretório inicial de cada usuário e incluir o número total de arquivos e subdiretórios em cada um:



report_home_space () {

report_home_space () {


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

local i dir_list total_files total_dirs total_size nome_do_usuário


if [[$ (id -u) -eq 0]]; então dir_list = / home / * user_name = "Todos os usuários"

outro

dir_list = $ HOME user_name = $ USER

fi


echo " Utilização do espaço doméstico ($ user_name) "para i em $ dir_list; faça

total_files = $ (encontrar $ i -tipo f | wc -l) total_dirs = $ (encontrar $ i -tipo d | wc -l) total_size = $ (du -sh $ i | cut -f 1)


echo " $ i "echo" "

printf "$ format" "Dirs" "Arquivos" "Tamanho" printf "$ format" "----" "-----" "----"

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

pronto retorno

}

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

local i dir_list total_files total_dirs total_size nome_do_usuário


if [[$ (id -u) -eq 0]]; então dir_list = / home / * user_name = "Todos os usuários"

outro

dir_list = $ HOME user_name = $ USER

fi


echo " Utilização do espaço doméstico ($ user_name) "para i em $ dir_list; faça

total_files = $ (encontrar $ i -tipo f | wc -l) total_dirs = $ (encontrar $ i -tipo d | wc -l) total_size = $ (du -sh $ i | cut -f 1)


echo " $ i "echo" "

printf "$ format" "Dirs" "Arquivos" "Tamanho" printf "$ format" "----" "-----" "----"

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

pronto retorno

}


Essa reescrita aplica-se a muito do que aprendemos até agora. Ainda testamos para o superusuário, mas em vez de realizar o conjunto completo de ações como parte do if, definimos algumas variáveis ​​usadas posteriormente em um loop for. Adicionamos várias variáveis ​​locais à função e usamos printf para formatar parte da saída.


Top OS Cloud Computing na OnWorks: