마운트된 펜 드라이브의 하위 디렉터리 이름을 바꿀 수 없습니다.

마운트된 펜 드라이브의 하위 디렉터리 이름을 바꿀 수 없습니다.

"mv" 명령을 사용하여 특정 디렉터리의 모든 하위 디렉터리 이름을 바꾸는 스크립트를 작성했습니다(첫 번째 문자를 대문자로 변경). 안타깝게도 이는 불가능하며 오류가 발생합니다(아래 예).

'mechanics'를 자체 하위 디렉터리 'Mechanics/mechanics'로 이동할 수 없습니다.

  #!/bin/bash

for name in *
    do
        if [ -d "$name" ]; then
                echo "$name"
        newname="$(tr '[:lower:]' '[:upper:]' <<< ${name:0:1})${name:1}"    
        mv "$name" "$newname"

    fi
done

이 문제를 어떻게 해결할 수 있나요?

답변1

가정: 파일 시스템은 대소문자를 구분하지 않으므로 Mechanics동일한 mechanics디렉터리에 주소가 지정됩니다.

임시 이름을 통해 다음 mechanics으로 이름을 바꿀 수 있습니다.Mechanics

mv mechanics foo
mv foo Mechanics

그러면 디렉토리가 다음과 같이 나타날 수 있지만 여전히 Mechanics호출할 수 있습니다 .mechanicsmECHaniCS

답변2

귀하의 스크립트는 정확하지만 이미역학현재 디렉토리의 폴더 및역학잘못된 폴더를 받았습니다.

관련 정보