Bueno, soy un novato en Linux y tengo un problema con un script bash simple.
Tengo un programa que se agrega a un archivo de registro mientras se ejecuta. Con el tiempo, ese archivo de registro se vuelve enorme. Me gustaría crear una secuencia de comandos de inicio que cambiará el nombre y moverá el archivo de registro antes de cada ejecución, creando efectivamente archivos de registro separados para cada ejecución del programa. Esto es lo que tengo hasta ahora:
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program
Cuando corro, veo esto:
: command not found
program
Cuando accedo al directorio de registros y ejecuto dir, veo esto:
201111211437\r.log\r
¿Que esta pasando? Supongo que me falta algún problema de sintaxis, pero parece que no puedo resolverlo.
ACTUALIZACIÓN: Gracias al comentario de shellter a continuación, descubrí que el problema se debe al hecho de que estoy editando el archivo .sh en Notepad ++ en Windows y luego enviándolo a través de ftp al servidor, donde ejecuto el archivo a través de ssh . Después de ejecutar dos2unix en el archivo, funciona.
Nueva pregunta: ¿Cómo puedo guardar el archivo correctamente en primer lugar, para evitar tener que realizar esta corrección cada vez que reenvío el archivo?
\r
es carriage_return, examine su script bash, tal vez esté incluido dentro del script