Ubuntu
date 和其他命令不再在 sh 腳本中工作
我有一個用於在 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 腳本中工作。
在手冊中找不到任何內容來說明原因。
您的文件具有 Windows 樣式的行尾。
使用
dos2unix
或類似的實用程序將其轉換為 Linux 行尾,下次上傳時要小心。