rm -rf $TIGER/${LION}/${RABBIT}/* and rm -rf $TIGER/${LION}/${RABBIT}
사이의 차이를 이해하면 스크립트에 넣으면 재앙이 발생하지 않으므로 변수가 설정되지 않은 경우 루트에서 모든 것을 삭제할 수 있습니다. csh/ksh에서 rm -rf를 사용하는 안전한 방법은 무엇입니까?
도움 주셔서 감사합니다.
rm -rf $TIGER/${LION}/${RABBIT}/*
주 숨겨진 파일 (일명 파일을 점) : $ {RABBIT} 디렉토리가 삭제되지 않습니다 -
두 가지 질문 - 변수가 설정되지 않은 경우 안전하게 작동하고 두 명령의 차이점을 이해하므로 전혀 상관이 없습니다. –
... 그건 그렇고 - 따옴표는 당신의 친구입니다. 'rm -rf "$ tiger/$ lion/$ rabbit"변수에 공백이 있으면 버그가 적습니다. (변수가 쉘 내장 변수 나 환경 변수가 아니면 소문자 변수 이름을 사용하는 것이 더 일반적입니다. –
...이 명령에는'$ foo'와'$ {foo}'사이에는 아무런 효과가 없습니다. 당신은 아무런 해를 끼치 지 않고 모든 중괄호를 버릴 수 있습니다. –