Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and beginning April 20th, 2021 (Eastern Time) the Yahoo Answers website will be in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

¿por qué mi script corre en bash y no en ksh?

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.

2 Answers

Rating
  • 6 years ago
    Favorite Answer

    Lo he probado en ksh ubuntu y todo funciona bien, creo que el problema es la plataforma donde corre, probablemente es un sun solaris o HP-UX. Lo que tendrías que hacer para buscar mas información es saber los datos de versión y plataforma del Sistema operativo donde el script no funciona correctamente, así podrías investigar las diferencias entre tu ambiente y el otro para poder hacer scripts compatibles entre ambas plataformas.

    Por ejemplo en mac OSX tanto con bash como con ksh usando "du -b" no funciona porque bajo esta plataforma el comando du no tiene la opción "-b" pero en ubuntu si.

    En resumen, investiga sobre que SO y versión donde tu script falla.

  • 6 years ago

    Gracias por el apoyo.

    Efectivamente HP-UX no tiene la opción -b de du, así que lo resolvimos con así: TAMCINTA=`wc -c dat$CINTA.bin | cut -f1 -d "d"

Still have questions? Get your answers by asking now.