Ben bir linux acemisiyim ve basit bir bash betiğiyle sorun yaşıyorum.
Çalışırken bir günlük dosyasına ekleyen bir programım var. Zamanla bu günlük dosyası çok büyük hale gelir. Her çalıştırmadan önce günlük dosyasını yeniden adlandırıp taşıyacak, programın her çalışması için etkin bir şekilde ayrı günlük dosyaları oluşturacak bir başlangıç betiği oluşturmak istiyorum. Şimdiye kadar sahip olduğum şeyler:
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program
Koşarken şunu görüyorum:
: command not found
program
Logs dizinine cd ve dizini çalıştırdığımda şunu görüyorum:
201111211437\r.log\r
Neler oluyor? Eksik bir sözdizimi sorunu olduğunu varsayıyorum ama çözemiyorum.
GÜNCELLEME: Shellter'ın aşağıdaki yorumu sayesinde, sorunu .sh dosyasını Windows'ta Notepad ++ ile düzenleyip ftp aracılığıyla sunucuya gönderiyor olmamdan kaynaklandığını buldum, burada dosyayı ssh üzerinden çalıştırıyorum . Dosya üzerinde dos2unix çalıştırıldıktan sonra çalışır.
Yeni soru: Dosyayı her yeniden gönderdiğimde bu düzeltmeyi yapmak zorunda kalmamak için ilk etapta dosyayı nasıl doğru bir şekilde kaydedebilirim?
\rcarriage_return, bash betiğinizi inceleyin, belki senaryonun içinde olabilir