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>

Menus

Um tipo comum de interatividade é chamado orientado por menu. Em programas baseados em menus, o usuário recebe uma lista de opções e é solicitado a escolher uma. Por exemplo, poderíamos imaginar um programa que apresentasse o seguinte:



Por favor selecione:


1. Exibir informações do sistema

2. Exibir espaço em disco

3. Exibir a utilização do espaço doméstico

0. Saia


Digite a seleção [0-3]>

Por favor selecione:


1. Exibir informações do sistema

2. Exibir espaço em disco

3. Exibir a utilização do espaço doméstico

0. Saia


Digite a seleção [0-3]>


Usando o que aprendemos escrevendo nosso sys_info_page programa, podemos construir um programa baseado em menu para realizar as tarefas no menu acima:



#! / Bin / bash

# read-menu: um programa de informações do sistema orientado por menu claro

eco "

Por favor selecione:


1. Exibir informações do sistema

2. Exibir espaço em disco

3. Exibir a utilização do espaço doméstico

0. Saia "

leia -p "Digite a seleção [0-3]>"

#! / Bin / bash

# read-menu: um programa de informações do sistema orientado por menu claro

eco "

Por favor selecione:


1. Exibir informações do sistema

2. Exibir espaço em disco

3. Exibir a utilização do espaço doméstico

0. Saia "

leia -p "Digite a seleção [0-3]>"


if [[$ REPLY = ~ ^ [0-3] $]]; então se [[$ REPLY == 0]]; então

echo "Programa encerrado." saída

fi

if [[$ REPLY == 1]]; em seguida, echo "Hostname: $ HOSTNAME" uptime

saída

fi

if [[$ REPLY == 2]]; então df -h

saída

fi

if [[$ REPLY == 3]]; então

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

echo "Utilização do espaço doméstico (todos os usuários)" du -sh / home / *

outro

echo "Utilização do espaço doméstico ($ USER)" du -sh $ HOME

saída fi

fi mais

echo "Entrada inválida." > & 2 saída 1

fi

if [[$ REPLY = ~ ^ [0-3] $]]; então se [[$ REPLY == 0]]; então

echo "Programa encerrado." saída

fi

if [[$ REPLY == 1]]; em seguida, echo "Hostname: $ HOSTNAME" uptime

saída

fi

if [[$ REPLY == 2]]; então df -h

saída

fi

if [[$ REPLY == 3]]; então

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

echo "Utilização do espaço doméstico (todos os usuários)" du -sh / home / *

outro

echo "Utilização do espaço doméstico ($ USER)" du -sh $ HOME

saída fi

fi mais

echo "Entrada inválida." > & 2 saída 1

fi


Este script é logicamente dividido em duas partes. A primeira parte exibe o menu e insere a resposta do usuário. A segunda parte identifica a resposta e executa a ação selecionada. Observe o uso do saída comando neste script. É usado aqui para evitar que o script execute código desnecessário após a realização de uma ação. A presença de vários pontos de saída em um programa geralmente é uma má ideia (torna a lógica do programa mais difícil de entender), mas funciona neste script.


Top OS Cloud Computing na OnWorks: