![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Awk skript i DOS og Linux oppfører seg forskjellig: ( | vidyak | Windows og DOS: Issues & Diskusjoner | 2 | 04-01-2009 12:07 |
| "$ variabelen" ikke oppfører seg som en streng i mitt script | yabhi_22 | UNIX for Dummies Spørsmål og svar | 3 | 02-06-2009 01:20 |
| Script oppfører seg forskjellig på to servere | mhssatya | UNIX for Advanced & ekspertbrukere | 5 | 09-13-2006 03:28 |
| Script oppfører seg forskjellig i Crontab .. | newtoxinu | Shell programmering og Skripting | 4 | 10-01-2004 02:22 |
| Script oppfører seg forskjellig i Crontab .. | newtoxinu | UNIX for Advanced & ekspertbrukere | 1 | 09-30-2004 05:00 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Gutter har jeg merkelig atferd med kommandoen utdataene lagres i en variabel i stedet for en tmp fil.
1. Jeg suger kommandoen utgang til en variabel Eksempelkode kommandoen output Code:
# 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. Jeg deretter skrive variabelen til en awk erklæring i en hvis testen og ikke fungerer som den skal. 4. Hvis utdataene fanget i en tempfile og samme awk statement brukes, men tar innspill fra tmpfile så det gjør arbeidet. Nedenstående koden viser en måte som ikke fungerer, og en som gjør. Kan noen kaster noe lys på hvorfor? Jeg er åpenbart prøver å bruke variabler i stedet for tmpfiles overalt. Jeg kan ikke forstå det, fordi utskriften statement for debug viser utgang som forventet. Code:
#!/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
Noen kaster noe lys på den? IFS er angitt som newline som standard. Skål Sist endret av lavascript; 04-22-2009 på 10:23.. |
|
||||
|
Oddly nok bare å sette IFS til ingenting synes å ha løst det.
Jeg er ikke helt sikker på hvorfor, men samlet ville det rundt feltet separator. Jeg prøvde å gjøre dette: -- Code:
oldIFS=$IFS IFS="\n\r" if [ ....blah IFS=$oldIFS Gjennom prøving og feiling fant jeg innstillingen Code:
IFS="" Alle som vet hvorfor? skål |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|