Problema script ksh
Hola,
Tengo un problemilla con un script. A ver si me puedes echar una mano.
El código del script en el que tengo el problema es el siguiente:
while read NOMBRE_SCRIPT_BATCH AMPERSAND
do
rm $NOMBRE_SCRIPT_BATCH
done < /var/usu1/batch_17876
Mientras que el fichero batch_17876 contiene:
more batch_17876
/var/usu1/batch_PRUEBA2.ksh.'ops$tempdb'.VBD &
/var/usu1/batch_PRUEBA2.ksh.'ops$auxiliar'.VBD &
wait
Pues bien, al ejecutar el script obtengo:
rm: /var/usu1/batch_PRUEBA2.ksh.'ops$tempdb'.VBD non-existent
rm: /var/usu1/batch_PRUEBA2.ksh.'ops$auxiliar'.VBD non-existent
rm: wait non-existent
Y si hacemos un listado del directorio vemos lo siguiente:
ls
batch_17876
batch_PRUEBA2.ksh.ops$tempdb.VBD
batch_PRUEBA2.ksh.ops$auxiliar.VBD
De modo que el problema se produce por esas comillas simples.
Pero si en lugar de realizar el rm dentro del bucle lo intento borrar directamente, sí que lo borra ¿?
VAR=/var/usu1/batch_PRUEBA2.ksh.'ops$tempdb'.VBD
rm $VAR
¿Sabes por qué se produce esta situación o cómo puedo solucionarla?
Este script lo estoy desarrollando en ksh y en un servidor HP-UX.
Muchas gracias y un saludo,
jlbarr
Tengo un problemilla con un script. A ver si me puedes echar una mano.
El código del script en el que tengo el problema es el siguiente:
while read NOMBRE_SCRIPT_BATCH AMPERSAND
do
rm $NOMBRE_SCRIPT_BATCH
done < /var/usu1/batch_17876
Mientras que el fichero batch_17876 contiene:
more batch_17876
/var/usu1/batch_PRUEBA2.ksh.'ops$tempdb'.VBD &
/var/usu1/batch_PRUEBA2.ksh.'ops$auxiliar'.VBD &
wait
Pues bien, al ejecutar el script obtengo:
rm: /var/usu1/batch_PRUEBA2.ksh.'ops$tempdb'.VBD non-existent
rm: /var/usu1/batch_PRUEBA2.ksh.'ops$auxiliar'.VBD non-existent
rm: wait non-existent
Y si hacemos un listado del directorio vemos lo siguiente:
ls
batch_17876
batch_PRUEBA2.ksh.ops$tempdb.VBD
batch_PRUEBA2.ksh.ops$auxiliar.VBD
De modo que el problema se produce por esas comillas simples.
Pero si en lugar de realizar el rm dentro del bucle lo intento borrar directamente, sí que lo borra ¿?
VAR=/var/usu1/batch_PRUEBA2.ksh.'ops$tempdb'.VBD
rm $VAR
¿Sabes por qué se produce esta situación o cómo puedo solucionarla?
Este script lo estoy desarrollando en ksh y en un servidor HP-UX.
Muchas gracias y un saludo,
jlbarr
1 respuesta
Respuesta de fragal
1