我的任务是创建脚本,该脚本列出用户目录中的所有子目录并将其写入文件中。
我创建了一个递归函数,该函数应遍历main中的所有目录,并将其子目录的名称写入文件中。但是该脚本会在我的家庭目录中的第一个文件夹中运行,直到到达不带子文件夹的文件夹为止。如何正确执行?
#!/bin/bash
touch "/home/neo/Desktop/exercise1/backup.txt"
writeFile="/home/neo/Desktop/exercise1/backup.txt"
baseDir="/home/neo"
print(){
echo $1
cd $1
echo "============">>$writeFile
pwd>>$writeFile
echo "============">>$writeFile
ls>>$writeFile
for f in $("ls -R")
do
if [ -d "$f" ]
then
print $1"/"$f
fi
done
}
print $baseDir
最佳答案
要获取路径中的所有文件夹,您只需执行以下操作:
find /home/neo -type d > /home/neo/Desktop/exercise1/backup.txt
完成