Repository 32bit  Forum
Repository 64bit  Wiki

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

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

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

Messaggioda joe » dom mar 06, 2011 14:52

È 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?
Ultima modifica di joe il dom mar 06, 2011 15:02, modificato 1 volta in totale.
Avatar utente
joe
Iper Master
Iper Master
 
Messaggi: 2007
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: [Bash] Opzioni di "read".

Messaggioda joe » dom mar 06, 2011 15:00

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...
Avatar utente
joe
Iper Master
Iper Master
 
Messaggi: 2007
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5

Re: [Bash] Opzioni di "read".

Messaggioda targzeta » dom mar 06, 2011 15:04

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

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

Messaggioda joe » dom mar 06, 2011 15:47

grazie
Avatar utente
joe
Iper Master
Iper Master
 
Messaggi: 2007
Iscritto il: ven apr 27, 2007 10:21
Slackware: 14.0
Kernel: 3.2.29-smp
Desktop: KDE-4.8.5


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti