Я пытаюсь создать собственное облако на новом сервере NAS, но используемый скрипт не работает.
Сценарий:
#!/bin/bash
chown -R http:http /volume1/web/owncloud/
chown -R http:http /volume1/web/owncloud/apps/
chown -R http:http /volume1/web/owncloud/config/
chown -R http:http /volume1/web/owncloud/themes/
chown -R http:http /volume1/owncloud/
chown http:http /volume1/web/owncloud/.htaccess
find /volume1/web/owncloud/ -type f -print0 | xargs -0 chmod 777
find /volume1/web/owncloud/ -type d -print0 | xargs -0 chmod 777
find /volume1/owncloud/ -type d -print0 | xargs -0 chmod 777
chmod 777 /volume1/web/owncloud/.htaccess
Вот ответ:
Yamakhalah@Jarvis:/$ sudo -su root
Password:
sh-4.3# cd /
sh-4.3# sh /volume1/web/scripts/perm_upd.sh
/volume1/web/scripts/perm_upd.sh: line 2: $'\r': command not found
chown: cannot access ‘/volume1/web/owncloud/\r’: No such file or directory
chown: cannot access ‘/volume1/web/owncloud/apps/\r’: No such file or directory
chown: cannot access ‘/volume1/web/owncloud/config/\r’: No such file or directory
chown: cannot access ‘/volume1/web/owncloud/themes/\r’: No such file or directory
chown: cannot access ‘/volume1/owncloud/\r’: No such file or directory
/volume1/web/scripts/perm_upd.sh: line 8: $'\r': command not found
chown: cannot access ‘/volume1/web/owncloud/.htaccess\r’: No such file or directory
/volume1/web/scripts/perm_upd.sh: line 10: $'\r': command not found
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
/volume1/web/scripts/perm_upd.sh: line 12: $'\r': command not found
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
chmod: invalid mode: ‘777\r’
Try 'chmod --help' for more information.
/volume1/web/scripts/perm_upd.sh: line 15: $'\r': command not found
sh-4.3#
Кто-нибудь может мне объяснить, почему это \r
появляется везде?
решение1
Вероятно, вы используете файл в стиле Windows и копируете его на NAS. Вам нужно преобразовать его в стиль Unix.Ссылка на Википедию для более подробного объяснения. Некоторые редакторы имеют возможность сохранять файл в других форматах. Если ваш редактор не может этого сделать, вы, вероятно, можете использовать утилиту, dos2unix
доступную для большинства дистрибутивов Linux.
Если все вышеперечисленные варианты не помогают,этот Stackoverflowвероятно, сможет вам помочь.