![使用循环的子目录中的子目录](https://linux22.com/image/7816/%E4%BD%BF%E7%94%A8%E5%BE%AA%E7%8E%AF%E7%9A%84%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E5%AD%90%E7%9B%AE%E5%BD%95.png)
在我的 CentOS 机器上,我需要创建一个主目录,其中有一些子目录以及一些子子目录。
就像是:
main_directory->sub1,sub2,sb3..
sub1->subsub1,subsub2,subsub3..
sub2->subsub1,subsub2,subsub3..
sub3->subsub1,subsub2,subsub3..
我想使用循环并在循环内使用 mkdir 创建这种目录结构。另外,我希望用户输入所有这些目录和子目录以及子子目录名称。我怎样才能做到这一点?
答案1
它不限于固定数量的目录,因此如果您想创建 2、3 个或一生都在创建目录和子目录,直到引起爆炸,脚本如下:
#!/bin/bash
enter_recursive(){
while true; do
echo "Please enter the name of the directory you want to create inside $PWD or type _up to exit the directory"
read dir
[ "$dir" = "_up" ] && return
mkdir "$dir"
echo -n "Do you want to create subdirectories in $PWD/${dir}? (y/n)"
read -n1 yn
echo
if [ "$yn" == "y" ]; then
cd "$dir"
enter_recursive
cd ..
fi
done
}
enter_recursive