나는 폴더 경로에 있습니다. 라는 폴더가 있습니다 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/"