![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Awk-skript i DOS och Linux fungerar på olika sätt: ( | vidyak | Windows & DOS: Frågor & Diskussioner | 2 | 04-01-2009 12:07 |
| "$ variabel" inte beter sig som en sträng i mitt manus | yabhi_22 | UNIX for Dummies Frågor & Svar | 3 | 02-06-2009 01:20 |
| Script beter sig annorlunda på två servrar | mhssatya | UNIX för avancerade & Expertanvändare | 5 | 09-13-2006 03:28 |
| Script beter sig annorlunda i Crontab .. | newtoxinu | Shell-programmering och Skript | 4 | 10-01-2004 02:22 |
| Script beter sig annorlunda i Crontab .. | newtoxinu | UNIX för avancerade & Expertanvändare | 1 | 09-30-2004 05:00 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Killar jag har konstiga beteende med kommandot utdata sparas i en variabel istället för en tmp fil.
1. Jag suger kommandot produktionen i en variabel Exempel på kommando produktion Kod:
# 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. Jag sedan skriva ut den variabel till en awk uttalande i en IF-testet och det inte fungerar som den ska. 4. Om produktionen är fångade i en tempfile och samma awk uttalande används men med ingång från tmpfile så det fungerar. Nedanstående kod visar ett sätt som inte fungerar och en som gör det. Kan någon kasta något ljus till varför? Jag är naturligtvis att försöka använda variabler i stället för tmpfiles överallt. Jag kan inte förstå det eftersom de tryckta redogörelse för debug visar produktionen som förväntat. Kod:
#!/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
Vem som helst kasta något ljus på det? IFS är inställd som newline som standard. Skål Senast redigerad av lavascript; 04-22-2009 vid 10:23.. |
|
||||
|
Konstigt nog bara inställningen IFS att ingenting verkar ha fast det.
Jag är inte helt säker på varför, men samlades det runt om i området separator. Jag försökte göra detta: -- Kod:
oldIFS=$IFS IFS="\n\r" if [ ....blah IFS=$oldIFS Genom trial-and-error Jag hittade inställningen Kod:
IFS="" Alla vet varför? skål |
![]() |
| Komihåglista |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|