Problema con un Shell Script
Publicado por abmptc (2 intervenciones) el 26/06/2009 18:31:31
Hola,
He creado este script:
oldIFS=$IFS # conserva el separador de campo
IFS=$' ' # nuevo separador de campo, el caracter fin de línea
for line in $(ls -1); do echo "$line" ; done
IFS=$old_IFS # restablece el separador de campo predeterminado
Si ejecuto este script desde desde un terminal, me funciona correctamente, dándome este resultado:
enredando_308.mp3
mp3split.sh
mp3split.sh~
Sin embargo si ejecuto este script en modo gráfico (haciendo doble click en el icono), me da el siguiente resultado:
e
reda
do_308.mp3
mp3split.sh
mp3split.sh~
Es decir, el salto de línea ( ) lo interpreta como una “n” en vez de como un carácter especial.
¿Sabéis alguna forma de evitar este error, y conseguir que este script funcione de ambas formas?
Muchas gracias de antemano y un saludo
abmptc.
P.D: Se que el scrpit que he pusto es totalmente inutil, de hecho el script que uso es más largo, pero solo he puesto la parte que me da problemas.
He creado este script:
oldIFS=$IFS # conserva el separador de campo
IFS=$' ' # nuevo separador de campo, el caracter fin de línea
for line in $(ls -1); do echo "$line" ; done
IFS=$old_IFS # restablece el separador de campo predeterminado
Si ejecuto este script desde desde un terminal, me funciona correctamente, dándome este resultado:
enredando_308.mp3
mp3split.sh
mp3split.sh~
Sin embargo si ejecuto este script en modo gráfico (haciendo doble click en el icono), me da el siguiente resultado:
e
reda
do_308.mp3
mp3split.sh
mp3split.sh~
Es decir, el salto de línea ( ) lo interpreta como una “n” en vez de como un carácter especial.
¿Sabéis alguna forma de evitar este error, y conseguir que este script funcione de ambas formas?
Muchas gracias de antemano y un saludo
abmptc.
P.D: Se que el scrpit que he pusto es totalmente inutil, de hecho el script que uso es más largo, pero solo he puesto la parte que me da problemas.
Valora esta pregunta


0