好吧,我是一个linux新手,我遇到了一个简单的bash脚本问题.
我有一个程序在运行时添加到日志文件中.随着时间的推移日志文件变得巨大.我想创建一个启动脚本,它将在每次运行之前重命名和移动日志文件,有效地为每次运行程序创建单独的日志文件.这是我到目前为止所得到的:
DATE=$(date +"%Y%m%d%H%M")
mv server.log logs/$DATE.log
echo program
Run Code Online (Sandbox Code Playgroud)
运行时,我看到了这个:
: command not found
program
Run Code Online (Sandbox Code Playgroud)
当我cd到logs目录并运行dir时,我看到:
201111211437\r.log\r
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?我假设有一些我缺少的语法问题,但我似乎无法弄明白.
更新:感谢下面的shellter评论,我发现问题是由于我在Windows中的Notepad ++中编辑.sh文件,然后通过ftp发送到服务器,我通过ssh运行文件.在文件上运行dos2unix后,它可以工作.
新问题:如何才能正确保存文件,以避免每次重新发送文件时都必须执行此修复?