ええと、私はLinuxの初心者で、単純なbashスクリプトに問題があります。
実行中にログファイルに追加するプログラムがあります。時間の経過とともに、そのログファイルは巨大になります。実行のたびにログファイルの名前を変更して移動し、プログラムの実行ごとに個別のログファイルを効果的に作成する起動スクリプトを作成したいと思います。これが私がこれまでに得たものです:
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program
実行すると、次のように表示されます。
: command not found
program
ログディレクトリにcdしてdirを実行すると、次のように表示されます。
201111211437\r.log\r
どうしたの?欠落している構文の問題があると思いますが、理解できないようです。
更新:以下のshellterのコメントのおかげで、WindowsのNotepad ++で.shファイルを編集し、ftp経由でサーバーに送信し、そこでssh経由でファイルを実行していることが問題であることがわかりました。 。ファイルに対してdos2unixを実行すると、機能します。
新しい質問:ファイルを再送信するたびにこの修正を実行する必要がないように、最初にファイルを正しく保存するにはどうすればよいですか?
\r
はキャリッジ