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>

padrões

Os padrões usados ​​por casas são iguais aos usados ​​pela expansão do nome do caminho. Os padrões são encerrados com um caractere “)”. Aqui estão alguns padrões válidos:


Tabela 31-1: Exemplos de padrão de caso


Descrição do Padrão

Descrição do Padrão

a) Corresponde se palavra é igual a “a”.


imagem

[[:alfa:]]) Corresponde se palavra é um único caractere alfabético.


imagem

???) Corresponde se palavra tem exatamente três caracteres.


imagem

*.TXT) Corresponde se palavra termina com os caracteres “.txt”.


imagem

*) Corresponde a qualquer valor de palavra. É uma boa prática incluir este como o último padrão em um casas comando, para capturar quaisquer valores de palavra que não correspondia a um padrão anterior; ou seja, para capturar quaisquer valores inválidos possíveis.


imagem


Aqui está um exemplo de padrões em funcionamento:


#! / Bin / bash

ler -p "inserir palavra>" caso $ REPLY em

[[: alpha:]]) echo "é um único caractere alfabético." ;; [ABC] [0-9]) echo "é A, B ou C seguido por um dígito." ;;

???) echo "tem três caracteres." ;;

* .txt) echo "é uma palavra que termina em '.txt'" ;;

*) echo "é outra coisa." ;; esac

#! / Bin / bash

ler -p "inserir palavra>" caso $ REPLY em

[[: alpha:]]) echo "é um único caractere alfabético." ;; [ABC] [0-9]) echo "é A, B ou C seguido por um dígito." ;;

???) echo "tem três caracteres." ;;

* .txt) echo "é uma palavra que termina em '.txt'" ;;

*) echo "é outra coisa." ;; esac


Também é possível combinar vários padrões usando o caractere de barra vertical como separador. Isso cria um padrão condicional “ou”. Isso é útil para tarefas como lidar com caracteres maiúsculos e minúsculos. Por exemplo:



#! / Bin / bash

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

eco "

Por favor selecione:


A. Exibir informações do sistema

B. Exibir espaço em disco

C. Exibir utilização do espaço doméstico

Q. Desistir "

ler -p "Entrar na seleção [A, B, C ou Q] > "


caso $ REPLY em

q | Q) echo "Programa encerrado." saída

;;

a | A) echo "Hostname: $ HOSTNAME" uptime

;;

b | B) df -h

;;

c | C) 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

fi

#! / Bin / bash

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

eco "

Por favor selecione:


A. Exibir informações do sistema

B. Exibir espaço em disco

C. Exibir utilização do espaço doméstico

Q. Desistir "

ler -p "Entrar na seleção [A, B, C ou Q] > "


caso $ REPLY em

q | Q) echo "Programa encerrado." saída

;;

a | A) echo "Hostname: $ HOSTNAME" uptime

;;

b | B) df -h

;;

c | C) 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

fi


;;

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

;;

esac

;;

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

;;

esac


Aqui, nós modificamos o menu de caso programa para usar letras em vez de dígitos para a seleção do menu. Observe como os novos padrões permitem a entrada de letras maiúsculas e minúsculas.


Top OS Cloud Computing na OnWorks: