![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Errore di stampa con il set di comando | Shribigb | Shell scripting e di programmazione | 0 | 03-06-2009 06:08 PM |
| catrame errore uscita ritardata forma permeabili errore | chayato | Linux | 1 | 02-06-2009 12:07 AM |
| Nel comando shell ksh - Stampa "ABC" è dare errore | sagarjani | Shell scripting e di programmazione | 2 | 10-08-2008 04:32 PM |
| Custom pagina di errore se l'autenticazione non riesce tomcat | sebagra | UNIX e Linux Applicazioni | 0 | 05-06-2008 05:10 PM |
| a comando non | a329743 | UNIX e avanzata per utenti esperti | 1 | 10-05-2006 10:08 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Come errore di stampa e di uscita, se il comando non riesce?
Eventuali suggerimenti per ragazzi sulla stampa di un certo messaggio di errore per stderr e dovrebbe uscire un comando non all'interno di un ksh script? Sto cercando di uscita null alcuni file.
Touch non è adatto come ho bisogno di nulla per loro. print ""> file non è adatto come ho bisogno di controllare elsehere per 0bytes se sono o meno. Ho provato questi esempi qui di seguito e nessuno funziona correttamente. Non voglio avere a mettere un controllo dopo ogni comando come: -- Codice:
if [[ $? -ne 0 ]];then print "error blah blah" >&2 exit 2 fi Codice:
OUTFILE=/tmp/out
# Null outfiles. Security already checked
> ${OUTFILE} || print "ERROR: blah blah \n" >&2 ; exit 2 #doesnt work
> ${OUTFILE} || (print "ERROR: blah blah \n" >&2 ; exit 2 ) #doesn't work
> ${OUTFILE} || (print "ERROR: blah blah \n" >&2 && exit 2) #doesnt work
if [[ -n "$(> ${OUTFILE} 2>&1)" ]];then
print "ERROR: blah blah \n" >&2
exit 2
fi # doesnt work
|
|
||||
|
In particolare su relazioni e di uscire, questo è un po 'più condensato idioma:
Codice:
test $condition || { print "Crap blew up; exiting"; exit 2; }
Codice:
command || { print "Crap blew up; exiting"; exit 2; }
Ultimo a cura di EagleFlyFree; al 04/23/2009 02:17 PM.. |
|
||||
|
Grazie dude thats lavorato come un fascino.
Mi sembra quasi non vi è stato, ma non utilizzare il corretto () Potrebbe spiegare la differenza tra () e () nel gruppo di comando? Anche i notied l'; alla fine prima di) è di vitale importanza il comando successivo altrimenti non funziona. ad esempio, Codice:
This works and exits if cant null but echos got to here if can.
> ${OUTFILE} || { print "ERROR: cannot null output file. Exiting\n" >&2; exit 2; }
> ${TMPFILE} || { print "ERROR: cannot null tmp file. Exiting\n" >&2; exit 2; }
echo "got to here"
This doesnt work and never gets to echo even if null is successful
> ${OUTFILE} || { print "ERROR: cannot null output file. Exiting\n" >&2; exit 2 }
> ${TMPFILE} || { print "ERROR: cannot null tmp file. Exiting\n" >&2; exit 2 }
echo "got to here"
|
|
||||
|
() Esegue le dichiarazioni in una nuova subshell, con Stato separato. () Esegue roba nella shell corrente.
Esempio: Codice:
(aVariable="hello"); echo $aVariable Codice:
{aVariable="hello"; }; echo $aVariable
E 'la stessa differenza come: Codice:
sh myScript.sh Codice:
source myScript.sh Inoltre, sì, avete bisogno di un punto e virgola alla fine l'ultima dichiarazione all'interno (); è così che il serbatoio della grammatica è definita. Tipo di come si può fare questo: Codice:
if $condition; then $statements; fi Codice:
if $condition
then
$statements
fi
Ultimo a cura di EagleFlyFree; al 04/23/2009 02:14 PM.. |
|
||||
|
Non c'è di che, mi piace yapping su bash.
La sua pagina di manuale è lungo e arduo, ma sfogliando ogni volta in un po 'di tempo, siete tenuti a imparare grande curiosità ogni volta. Le parti su storia e readline sono particolarmente fresco, e che sono a portata di mano e divertente da usare. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|