如何编写一个获取文件夹名称并删除所有子文件夹的 shell 脚本?

如何编写一个获取文件夹名称并删除所有子文件夹的 shell 脚本?

我坚持使用我在 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而不是使用 the find

查找目录$PATH并删除
find $Path -mindepth 1 -type d -exec rm -fr '{}' +
与上面相同,从内部运行$PATH
find $Path -mindepth 1 -type d -execdir rm -fr '{}' +

相关内容