쉘 스크립트 문제: \r이 문자로 해석됨

쉘 스크립트 문제: \r이 문자로 해석됨

새 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 배포판에서 사용할 수 있는 유틸리티를 사용할 수 있습니다 .

위의 옵션 중 어느 것도 도움이 되지 않는 경우,이 스택은 오버플로됩니다.어쩌면 그것이 당신에게 도움이 될 수도 있습니다.

관련 정보