Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Opzioni

read supporta le seguenti opzioni:


Tabella 28-1: Opzioni di lettura


Opzione Descrizione

Opzione Descrizione

-a schieramento Assegna l'input a schieramento, a partire dall'indice zero. Noi

tratteremo gli array nel Capitolo 35.


Immagine

-d delimitatore Il primo carattere nella stringa delimitatore è utilizzato per

indica la fine dell'input, anziché un carattere di nuova riga.


Immagine

-e Utilizzare Readline per gestire l'input. Ciò consente di modificare l'input allo stesso modo della riga di comando.


Immagine

-i stringa Usa il stringa come risposta predefinita se l'utente preme semplicemente

Invio. Richiede il -e opzione.


Immagine

-n num Leggi num caratteri di input, anziché un'intera riga.


Immagine

-p pronto Visualizza un prompt per l'input utilizzando la stringa pronto.


Immagine


Immagine

-r Modalità Raw. Non interpretare i caratteri barra rovesciata come caratteri di escape.


Immagine

-s Modalità silenziosa. Non visualizza i caratteri sullo schermo mentre vengono digitati. Questa opzione è utile quando si inseriscono password e altre informazioni riservate.


Immagine

-t secondo Timeout. Termina l'input dopo secondo. read restituisce a

stato di uscita diverso da zero se un input scade.


Immagine

-u fd Utilizza l'input dal descrittore di file fd, anziché l'input standard.


Immagine


Utilizzando le varie opzioni, possiamo fare cose interessanti con read. Ad esempio, con

Opzione -p, possiamo fornire una stringa di richiesta:


#! / Bin / bash


# read-single: legge più valori nella variabile predefinita read -p "Inserisci uno o più valori > "

echo "RISPOSTA = '$RISPOSTA'"

#! / Bin / bash


# read-single: legge più valori nella variabile predefinita read -p "Inserisci uno o più valori > "

echo "RISPOSTA = '$RISPOSTA'"


Grazie alla -t e -s opzioni possiamo scrivere uno script che legge l'input "segreto" e scade se l'input non viene completato entro un tempo specificato:



#! / Bin / bash


# read-secret: inserisci una passphrase segreta


se letto -t 10 -sp "Inserisci la passphrase segreta > " secret_pass; quindi echo -e "\nPassphrase segreta = '$secret_pass'"

altro

echo -e "\nTimeout dell'input" >&2 exit 1

fi

#! / Bin / bash


# read-secret: inserisci una passphrase segreta


se letto -t 10 -sp "Inserisci la passphrase segreta > " secret_pass; quindi echo -e "\nPassphrase segreta = '$secret_pass'"

altro

echo -e "\nTimeout dell'input" >&2 exit 1

fi


Lo script richiede all'utente una passphrase segreta e attende 10 secondi per l'inserimento. Se l'inserimento non viene completato entro il tempo specificato, lo script termina con un errore. Poiché

Se è inclusa l'opzione -s, i caratteri della passphrase non vengono visualizzati sul display durante la digitazione.


È possibile fornire all'utente una risposta predefinita utilizzando -e e -i opzioni insieme:



#! / Bin / bash

# read-default: fornisce un valore predefinito se l'utente preme il tasto Invio. read -e -p "Qual è il tuo nome utente?" -i $USER

echo "Hai risposto: '$REPLY'"

#! / Bin / bash

# read-default: fornisce un valore predefinito se l'utente preme il tasto Invio. read -e -p "Qual è il tuo nome utente?" -i $USER

echo "Hai risposto: '$REPLY'"


In questo script, chiediamo all'utente di immettere il suo nome utente e di utilizzare la variabile di ambiente UTENTE per fornire un valore predefinito. Quando lo script viene eseguito, visualizza la stringa predefinita e se l'utente preme semplicemente il tasto Invio, read assegnerà la stringa predefinita al REPLY variabile.


[io@linuxbox~]$ lettura predefinita Qual è il tuo nome utente? me Hai risposto: 'me'

[io@linuxbox~]$ lettura predefinita Qual è il tuo nome utente? me Hai risposto: 'me'


Il miglior sistema operativo cloud computing su OnWorks: