![폴더 이름을 가져오고 모든 하위 폴더를 삭제하는 쉘 스크립트를 작성하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/138023/%ED%8F%B4%EB%8D%94%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B3%A0%20%EB%AA%A8%EB%93%A0%20%ED%95%98%EC%9C%84%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
Bourne Shell에 작성한 스크립트가 막혔습니다.
스크립트:
echo "Who are you?"
read Individual
echo "Hello,$Individual"
echo "Where you want to go?"
read Path
grep -c "Path" file.txt
답변1
견본
$ mkdir -p dir{1..3}/dir{1..3}
$ tree dir*
dir1
├── dir1
├── dir2
└── dir3
dir2
├── dir1
├── dir2
└── dir3
dir3
├── dir1
├── dir2
└── dir3
9 directories, 0 files
스크립트
$ cat deletey.sh
#!/bin/bash
echo "Where you want to go?"
read Path
rm -fr $Path/*
예제 실행
$ ./deletey.sh
Where you want to go?
dir1
$
결과
$ tree dir*
dir1
dir2
├── dir1
├── dir2
└── dir3
dir3
├── dir1
├── dir2
└── dir3
6 directories, 0 files
대안
rm -fr $Path/*
다음 대신 a를 사용하도록 선택할 수 있습니다 find
.
$PATH
및 삭제
find $Path -mindepth 1 -type d -exec rm -fr '{}' +
위와 동일하며 내부에서 실행됩니다.$PATH
find $Path -mindepth 1 -type d -execdir rm -fr '{}' +