Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: IraisGossow en 22 Mayo 2015, 23:45 pm



Título: ¿por qué mi script corre en bash y no en ksh?
Publicado por: IraisGossow en 22 Mayo 2015, 23:45 pm
Hice un scipt que toma el tamaño de 3 archivos diferentes y valida si son iguales a una cantidad establecida.

Las pruebas las estoy haciendo en mi máquina con bash y el servidor donde va a correr es ksh, por lo que no puedo instalar nada ni hacer pruebas ahí.

Intenté con Stat pero en ksh me aparecía el mensaje de "stat: not found"

Lo tuve que hacer con du y como me trae el tamaño y el nombre del archivo, se lo pasé como parámetro a cut para que me traiga el primer argumento.

Los archivos son:

Código:
-rw-r--r-- 1 ij cdram  1908736 May 17 08:22 datAMA793.bin
-rw-r--r-- 1 ij cdram     240 May 17 08:22 hdrAMA793
-rw-r--r-- 1 ij cdram      160 May 17 08:22 colaAMA793

En bash corre bien, pero en ksh me devuelve sólo un 2 en hdr y cola.


Este es el pedazo del problema, el resto del script corre bien en ambos ambientes.
Código:

        TAMCINTA=` du -b dat$CINTA.bin | cut -f1 `
        TAMCOLA=` du -b cola$CINTA | cut -f1 `
        TAMHEADER=` du -b hdr$CINTA | cut -f1 `


¿Cómo lo arreglo?
Necesito algo que corra en ksh que me traiga el puro tamaño del archivo en bytes


Título: Re: ¿por qué mi script corre en bash y no en ksh?
Publicado por: IraisGossow en 25 Mayo 2015, 17:00 pm
Como HP-UX no tiene la opción -b de du, ni stat, que lo resolvimos así:
Código:
TAMCINTA=`wc -c dat$CINTA.bin | cut -f1 -d "d"