폴더 이름을 가져오고 모든 하위 폴더를 삭제하는 쉘 스크립트를 작성하는 방법은 무엇입니까? [폐쇄]

폴더 이름을 가져오고 모든 하위 폴더를 삭제하는 쉘 스크립트를 작성하는 방법은 무엇입니까? [폐쇄]

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 '{}' +

관련 정보