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>

Opções

read suporta as seguintes opções:


Tabela 28-1: Opções de leitura


Descrição da Opção

Descrição da Opção

-a ordem Atribuir a entrada para ordem, começando com o índice zero. Nós

abordará matrizes no Capítulo 35.


imagem

-d delimitador O primeiro caractere da string delimitador é usado para

indicam o fim da entrada, em vez de um caractere de nova linha.


imagem

-e Use Readline para lidar com a entrada. Isso permite a edição de entrada da mesma maneira que a linha de comando.


imagem

-i corda Uso corda como uma resposta padrão se o usuário simplesmente pressionar

Digitar. Requer o -e opção.


imagem

-n Números Ler Números caracteres de entrada, em vez de uma linha inteira.


imagem

-p pronto Exibe um prompt para entrada usando a string pronto.


imagem


imagem

-r modo Raw. Não interprete os caracteres de barra invertida como escapes.


imagem

-s Modo silencioso. Não faça eco de caracteres no visor à medida que são digitados. Isso é útil ao inserir senhas e outras informações confidenciais.


imagem

-t segundo Tempo esgotado. Encerrar entrada após segundo. ler retorna um

status de saída diferente de zero se uma entrada atingir o tempo limite.


imagem

-u fd Use a entrada do descritor de arquivo fd, em vez de entrada padrão.


imagem


Usando as várias opções, podemos fazer coisas interessantes com ler. Por exemplo, com o

opção -p, podemos fornecer uma string de prompt:


#! / Bin / bash


# read-single: lê vários valores na variável padrão read -p "Insira um ou mais valores>"

echo "REPLY = '$ REPLY'"

#! / Bin / bash


# read-single: lê vários valores na variável padrão read -p "Insira um ou mais valores>"

echo "REPLY = '$ REPLY'"


Com o -t e -s opções, podemos escrever um script que lê a entrada “secreta” e atinge o tempo limite se a entrada não for concluída em um tempo especificado:



#! / Bin / bash


# read-secret: insira uma senha secreta


if read -t 10 -sp "Digite a senha secreta>" secret_pass; então echo -e "\ nSecret passphrase = '$ secret_pass'"

outro

echo -e "\ n Tempo limite de entrada esgotado"> & 2 saída 1

fi

#! / Bin / bash


# read-secret: insira uma senha secreta


if read -t 10 -sp "Digite a senha secreta>" secret_pass; então echo -e "\ nSecret passphrase = '$ secret_pass'"

outro

echo -e "\ n Tempo limite de entrada esgotado"> & 2 saída 1

fi


O script solicita ao usuário uma senha secreta e aguarda 10 segundos pela entrada. Se a entrada não for concluída dentro do tempo especificado, o script sai com um erro. Desde o

A opção -s está incluída, os caracteres da frase secreta não são ecoados no visor à medida que são digitados.


É possível fornecer ao usuário uma resposta padrão usando o -e e -i opções juntas:



#! / Bin / bash

# read-default: forneça um valor padrão se o usuário pressionar a tecla Enter. leia -e -p "Qual é o seu nome de usuário?" -i $ USER

echo "Você respondeu: '$ REPLY'"

#! / Bin / bash

# read-default: forneça um valor padrão se o usuário pressionar a tecla Enter. leia -e -p "Qual é o seu nome de usuário?" -i $ USER

echo "Você respondeu: '$ REPLY'"


Neste script, pedimos ao usuário para inserir seu nome de usuário e usar a variável de ambiente USUÁRIO para fornecer um valor padrão. Quando o script é executado, ele exibe a string padrão e se o usuário simplesmente pressiona a tecla Enter, ler irá atribuir a string padrão para o RESPOSTA variável.


[me @ linuxbox ~] $ padrão de leitura Qual é o seu nome de usuário? eu Você respondeu: 'eu'

[me @ linuxbox ~] $ padrão de leitura Qual é o seu nome de usuário? eu Você respondeu: 'eu'


Top OS Cloud Computing na OnWorks: