sh 脚本中的 date 和其他命令不再起作用

sh 脚本中的 date 和其他命令不再起作用

我有一个用于在 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 行尾,并在下次上传时小心。

相关内容