![폴더 이름을 반복적으로 찾아 변수에 할당](https://linux55.com/image/135972/%ED%8F%B4%EB%8D%94%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EB%B0%98%EB%B3%B5%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%B0%BE%EC%95%84%20%EB%B3%80%EC%88%98%EC%97%90%20%ED%95%A0%EB%8B%B9.png)
나는 폴더 경로에 있습니다. 라는 폴더가 있습니다 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/"