我有一个用于在 Ubuntu 10.04 上运行 find 的 shell 脚本,但是自从我转移到 12.04 后,它不再像以前那样工作并抛出以下消息:
/home/checks.sh: 1: /home/checks.sh: date
: not found
find: invalid mode `0777\r'
脚本如下:
date
echo ""
echo "Files changed in the last 24 hours"
echo "=================================="
find /var/www -mtime -1 | grep -iv '.log'
echo ""
echo ""
echo "Files with permissions set to 777"
echo "================================="
find /var/www -perm 0777
所有行都可以在命令行上运行,但不再在 shell 脚本中运行。
在手册中找不到任何可以解释原因的内容。
答案1
您的文件具有 Windows 样式的行尾。
使用dos2unix
或类似的实用程序将其转换为 Linux 行尾,并在下次上传时小心。