rm -rf 삭제할 파일의 디렉터리를 삭제합니다(여러 매개변수).

rm -rf 삭제할 파일의 디렉터리를 삭제합니다(여러 매개변수).

테스트 환경에서 다음을 실행했습니다.

rm -rf /var/www/html/${domain} /etc/nginx/sites-available/${domain} /etc/nginx/sites-enabled/${domain}

결과적으로 html디렉터리 sites-availablesites-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

관련 정보