폴더 이름을 반복적으로 찾아 변수에 할당

폴더 이름을 반복적으로 찾아 변수에 할당

나는 폴더 경로에 있습니다. 라는 폴더가 있습니다 dir. 안에 또 다른 폴더가 있는데 dir이름을 모르겠습니다. 그것을 찾아서 변수에 할당하는 방법.

추신: 여러 폴더에서 이것을 실행하고 싶기 때문에 위와 같이 작동하는 스크립트가 필요합니다.

답변1

set -- dir/*/

위의 작업을 수행하면 $1경로 이름이 dir. $2두 번째 경로 이름이 됩니다. $@의 모든 디렉토리 경로 이름 목록이 됩니다 dir.

/마지막 후행이 dir/*/중요하다는 점에 유의하세요. 그것이 없으면 일반 파일의 이름을 얻을 수도 있습니다.

예를 들어 다음과 같은 상황이 주어졌습니다.

.
`-- dir
    |-- A
    |   `-- file2
    |-- B
    |   `-- file2
    |-- C
    |   `-- file2
    `-- file1
$ set -- dir/*/

$ echo "$1"
dir/A/

$ printf '%s\n' "$@"
dir/A/
dir/B/
dir/C/

$ myfolder="$1"
$ printf 'My folder is "%s"\n' "$myfolder"
My folder is "dir/A/"

관련 정보