![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Script de awk en DOS y Linux se comporta de manera diferente: ( | vidyak | Windows y DOS: Temas y Debates | 2 | 04-01-2009 11:07 AM |
| "$ variable" no está comportándose como una cadena en mi script | yabhi_22 | UNIX for Dummies Preguntas y Respuestas | 3 | 02-06-2009 01:20 PM |
| Script comportamiento diferente en dos servidores | mhssatya | UNIX para usuarios avanzados y expertos | 5 | 09-13-2006 02:28 PM |
| Script comportamiento diferente en Crontab .. | newtoxinu | Programación de scripts de shell y | 4 | 10-01-2004 01:22 PM |
| Script comportamiento diferente en Crontab .. | newtoxinu | UNIX para usuarios avanzados y expertos | 1 | 09-30-2004 04:00 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Chicos tengo un comportamiento extraño con el comando de salida se guarda en una variable en lugar de un archivo tmp.
1. Me chupan comando en una variable de salida Ejemplo de comando de salida Código:
# 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. Luego de impresión a una variable que awk declaración en un caso de prueba y no funciona como debería. 4. Si la salida es capturada en una tempfile awk y la misma declaración se usa, pero teniendo a partir de la entrada tmpfile entonces funciona. A continuación se muestra un código de manera que no funciona y que hace. ¿Alguien puede arrojar alguna luz en cuanto a por qué? Estoy, evidentemente, tratando de utilizar variables en lugar de tmpfiles de todo el mundo. No puedo entender porque la declaración de impresión para la salida de depuración muestra como se esperaba. Código:
#!/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
Cualquiera arrojar alguna luz sobre esto? La Federación se establece como nueva línea de serie. ¡Salud! Última edición por lavascript; al 04-22-2009 09:23 AM.. |
|
||||
|
Curiosamente sólo el establecimiento de IFS para nada parece que se han fijado.
No estoy del todo seguro de por qué, pero se reunieron en torno a que el separador de campo. He intentado hacer esto: -- Código:
oldIFS=$IFS IFS="\n\r" if [ ....blah IFS=$oldIFS A través de ensayo y error que encontré ajuste Código:
IFS="" Alguien sabe por qué? ¡salud! |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|