上午调试一个shell脚本,脚本内容如下:
touch a.txt
mv a.txt $(date +%m_%d).log
提示错误:mv: cannot stat `a.txt': No such file or directory,手动touch a.txt 发现 脚本运行成功。
然后ls 查看,发现了文件名a.txt? 和 08_03.log? 很疑惑。
1)以为是^M 结尾导致的,在文件中查找,没发现该问题。
2)以为是日期赋值错误,然后再尝试其他方法,发现没问题,
3)再其他linux环境下重新写脚本,运行也没问题。
最终查看文件格式,发现该脚本是dos格式,用vi 打开
:set ff=unix
然后再运行脚本,问题解决。