이 스크립트 코드가 dir2가 있는지 올바르게 테스트하고 존재하지 않으면 생성하는지 궁금합니다. Dir1이 이미 존재합니다.
[ ! -d /dir1/dir2 ] && mkdir /dir1/dir2
답변1
dir1/dir2
존재하지만 디렉토리가 아닌 경우 명령이 실패할 수 있습니다. 존재 여부 를 테스트하려면 dir1/dir2
다음을 사용하십시오.-e
[ -e dir1/dir2 ] || mkdir dir1/dir2
정말로 dir1/dir2
디렉터리여야 하고 해당 이름을 가진 일반 파일이 잘못되어 교체되어야 하는 경우 이 상황을 테스트할 수 있습니다.
[ -e dir1/dir2 ] && [ ! -d dir1/dir2 ] && rm dir1/dir2
[ -d dir1/dir2 ] || mkdir dir1/dir2