Cóż, jestem nowicjuszem w Linuksie i mam problem z prostym skryptem basha.
Mam program, który dodaje do pliku dziennika, gdy jest uruchomiony. Z biegiem czasu ten plik dziennika staje się ogromny. Chciałbym utworzyć skrypt startowy, który zmieni nazwę i przeniesie plik dziennika przed każdym uruchomieniem, skutecznie tworząc oddzielne pliki dziennika dla każdego uruchomienia programu. Oto, co mam do tej pory:
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program
Po uruchomieniu widzę to:
: command not found
program
Kiedy przechodzę do katalogu logs i uruchamiam dir, widzę to:
201111211437\r.log\r
Co się dzieje? Zakładam, że brakuje mi jakiegoś problemu ze składnią, ale nie mogę tego rozgryźć.
AKTUALIZACJA: Dzięki komentarzowi shelltera poniżej stwierdziłem, że problem polega na tym, że edytuję plik .sh w Notepad ++ w systemie Windows, a następnie wysyłam przez ftp na serwer, gdzie uruchamiam plik przez ssh . Po uruchomieniu dos2unix na pliku działa.
Nowe pytanie: Jak przede wszystkim poprawnie zapisać plik, aby uniknąć konieczności wykonywania tej poprawki za każdym razem, gdy ponownie wysyłam plik?
\r
jest