Pagina 1 di 1

[Bash] Opzioni di "read".[RISOLTO]

Inviato: dom 6 mar 2011, 14:52
da joe
È una sciocchezza ma ve la chiedo ugualmente.

Il comando read serve per leggere un input nel mio caso dato direttamente dall'utente.
Nel caso specifico mi servirebbe un modo per leggere un valore che faccia uscire il programma da un ciclo di loop.
Come valore d'uscita sceglierei il tasto "q".
Mi servirebbero 2 condizioni rispettate:
1- non dovrebbe essere necessario premere invio dopo il tasto d'uscita. Pertanto è sufficiente un bel:

Codice: Seleziona tutto

"read -n1 INPUT"
2- vorrei che non fosse visualizzato il valore immesso dall'utente... quindi in pratica non vorrei vedere la "q" sullo schermo. Questo non so come si fà sinceramente, avete idee?

Re: [Bash] Opzioni di "read".

Inviato: dom 6 mar 2011, 15:00
da joe
Niente scusate ho postato troppo precipitosamente.
In rete ho trovato che l'opzione necessaria è "-s".
Pertanto:

Codice: Seleziona tutto

read -sn1 INPUT
mi risolve la questione.
Ma la documentazione di "read" dove si trova? a parte "read --help" intendo...

Re: [Bash] Opzioni di "read".

Inviato: dom 6 mar 2011, 15:04
da targzeta
Ormai avevo scritto questo, dando per scontato che avessi letto il manuale e era impossibile farlo altrimenti.

---
Nello script prova ad usare:

Codice: Seleziona tutto

stty -echo
questo disabilita l'echo dei tasti premuti. Poi ricordati di riabilitarlo con:

Codice: Seleziona tutto

stty echo
---

read è un comando interno alla BaSH e quindi trovi la documentazione con:

Codice: Seleziona tutto

man bash
cerca i "SHELL BUILTIN COMMANDS".

Emanuele

Re: [Bash] Opzioni di "read".[RISOLTO]

Inviato: dom 6 mar 2011, 15:47
da joe
grazie