Repository 32bit  Forum
Repository 64bit  Wiki

[bash] controllo dati [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.

Re: [bash] controllo dati

Messaggioda sya54M » mar ago 25, 2009 16:55

sixjan ha scritto:expr 0 + 3,1345 dà errore
expr 0 + 3.123 dà errore

ah giusto... e vorrà dire che mi accontenterò di interi :D
sixjan ha scritto:No. In uno script o in console $? ti dà il codeice d'errore dell'ultimo
comando lanciato in quello script o in quella console. Non monitorizza
tutto il sistema.

perfetto allora
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1430
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.14.x
Desktop: KDE 4.13

Re: [bash] controllo dati

Messaggioda sixjan » mar ago 25, 2009 17:07

Se vuoi anche i numeri reali, prova:

echo 0 + $1 | bc

ma bc non è installato su tutti i sistemi. bc ti dà errore
con 5,5 . Invece accetta 5.5 . bc legge 089 come 89.
sixjan
Linux 2.4
Linux 2.4
 
Messaggi: 407
Iscritto il: dom gen 06, 2008 11:46
Slackware: 14.1
Kernel: 3.10.17-smp
Desktop: Xfce 4.10

Re: [bash] controllo dati

Messaggioda sya54M » mar ago 25, 2009 17:11

sixjan ha scritto:Se vuoi anche i numeri reali, prova:

echo 0 + $1 | bc

ma bc non è installato su tutti i sistemi. bc ti dà errore
con 5,5 . Invece accetta 5.5 . bc legge 089 come 89.

se non è installato su tutti i pc è meglio di no, tanto non è importante, mi accontento dei numeri interi.

ho fatto delle prove e tutto sembra funzionare, questa è la soluzione:
Codice: Seleziona tutto
expr $1 \+ 0 1> /dev/null
val=$?
if [ $# -ne "1" -o $val -ne "0" ]

grazie mille a tutti :thumbright:
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1430
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.14.x
Desktop: KDE 4.13

Re: [bash] controllo dati

Messaggioda conraid » mar ago 25, 2009 17:15

sya54M ha scritto:ho fatto delle prove e tutto sembra funzionare, questa è la soluzione:
Codice: Seleziona tutto
expr $1 \+ 0 1> /dev/null
val=$?
if [ $# -ne "1" -o $val -ne "0" ]

grazie mille a tutti :thumbright:


mmm :-k
non sarebbe meglio
Codice: Seleziona tutto
if [ $# -ne 1 -o $val -ne 0 ]
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: [bash] controllo dati [risolto]

Messaggioda sya54M » mar ago 25, 2009 17:23

conraid ha scritto:mmm :-k
non sarebbe meglio

Codice: Seleziona tutto
if [ $# -ne 1 -o $val -ne 0 ]

boh a me pare che non cambia nulla...
Avatar utente
sya54M
Linux 3.x
Linux 3.x
 
Messaggi: 1430
Iscritto il: mer giu 06, 2007 13:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.14.x
Desktop: KDE 4.13

Precedente

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti