![]() |
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 |
| Awk script in DOS e Linux si comporta in modo diverso: ( | vidyak | Windows e DOS: Problemi & Discussioni | 2 | 04-01-2009 12:07 PM |
| "$ variabile" non si comporta come una stringa nel mio script | yabhi_22 | UNIX for Dummies Domande & Risposte | 3 | 02-06-2009 01:20 PM |
| Script comportarsi diversamente su due server | mhssatya | UNIX e avanzata per utenti esperti | 5 | 09-13-2006 03:28 PM |
| Script di comportarsi in modo diverso in Crontab .. | newtoxinu | Shell scripting e di programmazione | 4 | 10-01-2004 02:22 PM |
| Script di comportarsi in modo diverso in Crontab .. | newtoxinu | UNIX e avanzata per utenti esperti | 1 | 09-30-2004 05:00 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
I ragazzi hanno un comportamento strano con il comando di uscita di essere salvato in una variabile al posto di un file tmp.
1. I succhiare il comando di uscita in una variabile Esempio di comando di uscita Codice:
# cleanstats DRIVE INFO: ---------- Drv Type Mount Time Frequency Last Cleaned Comment *** **** ********** ********* **************** ******* 0 hcart3* 51.9 0 N/A 1 hcart3* 55.9 0 N/A 2 dlt* 0.8 0 N/A 3 dlt* 0.0 0 N/A 4 dlt* 0.2 0 N/A 5 dlt* 0.0 0 N/A MEDIA INFO: ---------- media media robot robot robot side/ optical # mounts/ last ID type type # slot face partner cleanings mount time ------------------------------------------------------------------------------- CLN206 DLT_CL NONE - - - - 0 12/26/2001 08:22 CLN207 DLT_CL NONE - - - - 0 03/10/2002 10:00 CLN205 DLT_CL NONE - - - - 0 08/18/2002 06:40 CLN703 DLT_CL NONE - - - - 0 03/29/2003 05:11 CLN701 DLT_CL NONE - - - - 20 00/00/0000 00:00 CLN635 DLT_CL NONE - - - - 0 11/21/2003 04:32 CLN219 DLT_CL NONE - - - - 0 07/13/2004 06:25 CLN636 DLT_CL NONE - - - - 14 01/22/2006 08:15 CLN211 DLT_CL TLD 1 21 - - 12 10/31/2008 22:44 CLN209 DLT_CL NONE - - - - 0 12/13/2006 22:13 CLN210 DLT_CL NONE - - - - 0 10/19/2008 06:31 3. Ho quindi stampare una variabile che awk in uno stato di prova e se non funziona come dovrebbe. 4. Se l'output viene catturato in un temporanei e la stessa dichiarazione awk è usato ma tenuto in ingresso dal tmpfile allora funziona. Il seguente codice illustra un modo che non funziona e quello che fa. Chiunque può gettare luce come per qualsiasi motivo? Sono, ovviamente, cercando di utilizzare le variabili invece di tmpfiles ovunque. Non riesco a capire perché la stampa dichiarazione per l'output di debug mostra come previsto. Codice:
#!/bin/ksh
....script contents, variable assignment blah blah....
# Suck clean stats to variable
CSTAT=$(cleanstats)
# Or put in tmpfile
cleanstats > ${TMPFILE}
print "CSTAT contains [${CSTAT}]" #DBG
# Check tape exists in library with free cleanings
# If tape is in unit but with no cleanings OR
# If tape is NOT in unit (TLD), the string returned is empty thus matching -z test
# (section 1)
if [[ -z "$( print ${CSTAT} | nawk '$3 == "TLD" && $8 != "0" {print}' )" ]];then
.... do stuff ....
fi
# Above doesnt work, but below does
# (section 2)
#if [[ -z "$( nawk '$3 == "TLD" && $8 != "0" {print}' < ${TMPFILE} )" ]];then
# .... do stuff ...
#fi
Chiunque capannone qualsiasi luce su di esso? IFS è impostata come newline come standard. Salute Ultimo a cura di lavascript; al 04/22/2009 10:23 AM.. |
|
||||
|
Abbastanza stranamente solo impostazione IFS a nulla sembra essere determinata.
Io non sono del tutto sicuro perché, ma avrebbe raccolto circa il separatore di campo. Ho provato a fare questo: -- Codice:
oldIFS=$IFS IFS="\n\r" if [ ....blah IFS=$oldIFS Attraverso prove ed errori che ho trovato l'impostazione Codice:
IFS="" Chi sa perché? salute |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|