테스트 환경에서 다음을 실행했습니다.
rm -rf /var/www/html/${domain} /etc/nginx/sites-available/${domain} /etc/nginx/sites-enabled/${domain}
결과적으로 html
디렉터리 sites-available
와 sites-enabled
해당 내용이 모두 삭제됩니다.
이 문장에 문제가 있나요? 전체 경로를 제공했다는 점을 감안할 때 이 문제의 원인을 놓쳤으며 -r
.
답변1
도메인 값이 비어 있거나 정의되지 않은 경우 간단히 실행할 수 있습니다 rm -rf /var/www/html
.
해당 정의를 명시적으로 확인할 수 있습니다 domain
.
if [ -z "$domain" ]; then
echo "ERROR: domain is undefined" >&2
exit 1
fi
또한 set -u
스크립트에 사용하면 이러한 문제를 방지할 수 있습니다. 이로 인해 정의되지 않은 변수를 사용하면 오류가 발생합니다.
$ set -u
$ echo $undefined_variable
bash: undefined_variable: unbound variable