Repository 32bit  Forum
Repository 64bit  Wiki

[bash] controllo dati [risolto]

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola 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 17: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: 1344
Iscritto il: mer giu 06, 2007 14:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.9.x
Desktop: KDE 4.10

Re: [bash] controllo dati

Messaggioda sixjan » mar ago 25, 2009 18: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: 383
Iscritto il: dom gen 06, 2008 12:46
Slackware: 12.2
Kernel: 2.6.27.31
Desktop: KDE 3.5.10

Re: [bash] controllo dati

Messaggioda sya54M » mar ago 25, 2009 18: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: 1344
Iscritto il: mer giu 06, 2007 14:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.9.x
Desktop: KDE 4.10

Re: [bash] controllo dati

Messaggioda conraid » mar ago 25, 2009 18: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: 11904
Iscritto il: gio lug 14, 2005 0:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: [bash] controllo dati [risolto]

Messaggioda sya54M » mar ago 25, 2009 18: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: 1344
Iscritto il: mer giu 06, 2007 14:44
Località: (Salerno)
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 3.9.x
Desktop: KDE 4.10

Precedente

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti