Debianizzati.Org | Forum | Blog | Guide | IRC
 
 
Forum Italiano Debian - Debianizzati.Org
Novembre 22, 2008, 09:15:13 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Aiuto Ricerca Agenda Accedi Registrati  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: controllo input di soli numeri  (Letto 520 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
zimo85
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3


Mostra profilo
« inserita:: Giugno 11, 2007, 02:36:37 pm »

Salve. Sono un neofita. Per l'uni (informatica) devo fare uno script in bash per calcolo e manipolazione di polinomi.
Praticamente io devo inserire da tastiera dei numeri interi in un array. l'operazione l'ho effettuata correttamente  con read -a. La mia domanda è: come faccio a controllare che l'utente abbia inserito solo numeri interi e non lettere o altri caratteri? c'è un modo di farlo direttamente con la read, oppure anche con controlli sull'array? aiutatemi perchè il tempo stringe alla consegna, e fatto questo particolare il progetto è completo
Registrato
Finn
Global Moderator
Hero Member
*****

Karma: +30/-6
Scollegato Scollegato

Messaggi: 1195


207002659
Mostra profilo
« Risposta #1 inserita:: Giugno 11, 2007, 06:27:19 pm »

Non mi pare si possa fare via read, mi sa che ti tocca fare il controllo a mano.
Puoi prendere come ispirazione questa funzione:
Codice:
val_str() {
        declare -r str_allow="1234567890"
        declare -r str_len="128"; str=( "$1" ); if [ -z "${str}" -o "${#str}" -gt "${str_len}" ]; then return 1; fi
        charLim=$[${#str}-1]; for charPos in $(seq 0 "$charLim"); do char="${str[0]:${charPos}:1}"
        expr index "${char/[\(\)]/!}" "${str_allow} " >/dev/null; case "$?" in 0) ;;*) return 1;; esac; done
 }
E' la versione solo per numeri di un vadatore di stinghe trovato in rete.
Registrato
metaldaze
Global Moderator
Hero Member
*****

Karma: +29/-3
Scollegato Scollegato

Messaggi: 1028


Mostra profilo
« Risposta #2 inserita:: Giugno 11, 2007, 09:30:23 pm »

Deve essere per forza bash o va bene anche perl?
Registrato
zimo85
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3


Mostra profilo
« Risposta #3 inserita:: Giugno 11, 2007, 10:43:27 pm »

solo bash
Registrato
zimo85
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3


Mostra profilo
« Risposta #4 inserita:: Giugno 13, 2007, 10:18:34 pm »

risolto con un case [0-9]*) ok *) errore

 Grin Grin Grin Grin Grin Grin Grin Grin Grin Grin
Registrato
Finn
Global Moderator
Hero Member
*****

Karma: +30/-6
Scollegato Scollegato

Messaggi: 1195


207002659
Mostra profilo
« Risposta #5 inserita:: Giugno 14, 2007, 12:39:40 am »

lol, bastava una espressione regolare... dovrei fustigarmi per non averci pensato, bravo zimo85
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Altri Topic Correlati
Oggetto Aperta da Risposte Visite Ultimo messaggio
File /proc/devices e numeri device Generale balubeto 0 208 Ultimo messaggio Dicembre 09, 2006, 01:44:06 am
da balubeto
Driver nv Input not supported X gennaro 8 478 Ultimo messaggio Settembre 13, 2007, 09:52:09 am
da ari
[Debian da i numeri] Generale ganjolinux 4 266 Ultimo messaggio Ottobre 02, 2007, 07:36:46 pm
da ganjolinux
Mouse, X-input Hardware The_Maxtro 1 176 Ultimo messaggio Novembre 25, 2007, 08:33:12 pm
da The_Maxtro
[risolto]: debian kernel e non: che significano i numeri di versione? Kernel loerian 2 229 Ultimo messaggio Giugno 13, 2008, 12:37:07 am
da loerian
Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Pagina creata in 0.086 secondi con 20 interrogazioni al database.