Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143

    Bash - dubbio sugli errori

    Salve, ho un dubbio per quanto riguarda il fatto che quando scrivo uno script bash, se per esempio faccio degli echo per segnalare che a un controllo per esempio sull'output dell' utente è stato inserito qualcosa di sbagliato, cosa è buona norma fare, direzionare echo verso lo stderr o non importa?
    Cioè è giusto scrivere così?

    codice:
    if [ ...... ];
    then
     echo "messaggio" >> 2
     exit 1
    else
     ....
    fi
    Di default 2 e 1 sono lo schermo, però non trovo niente in giro che mi faccia capire.
    Qualcuno mi sa chiarire il dubbio?
    Grazie mille

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143
    Grazie per il link
    Però il mio dubbio resta, perché più che relativo alla sintassi è relativo a come fare buona programmazione.
    Cioè:

    codice:
    if[ ... ];
    then
     echo "l'input è corretto"
     exit 0
    else
     echo "l'input è errato"
     exit 1
    Mi domando: se i parametri sono corretti allora mi stampa il messaggio che va su stdout. Ma se prende il ramo else, è corretto lasciare che vada su stdout ( perchè da come ho capito scrivendo così va sempre su stdout ) oppure devo essere più corretto e redirezionarlo su stderr?
    Grazie mille

  4. #4
    Utente bannato
    Registrato dal
    May 2007
    Messaggi
    16
    In realtà non importa più di tanto.
    Formalmente sarebbe più corretto, ma onestante in anni non l'ho mai fatto


    30cm

  5. #5
    Io ti consiglio di redirezionare su stdout.
    Può capitare di voler avere un file di log con gli errori: in questo caso quando qualcuno richiama il tuo script volendo può tenersi da parte su file solo lo stderr, evitandosi eventuali sbrodolate di messaggi di informazione.
    A redirezionare in stderr ci metti poco ed in più ti conviene
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    859
    se metti il then a capo non serve il ";"

    codice:
    if[ ... ];
    then
    diventa

    codice:
    if[ ... ]
    then

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143
    Ringrazio tutti quanti per i consigli e le correzioni.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    859
    Originariamente inviato da namek
    Ringrazio tutti quanti per i consigli e le correzioni.
    prego

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.