gpt4 book ai didi

linux - BASH中的递归

转载 作者:行者123 更新时间:2023-12-03 10:00:21 25 4
gpt4 key购买 nike

我的任务是创建脚本,该脚本列出用户目录中的所有子目录并将其写入文件中。
我创建了一个递归函数,该函数应遍历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
完成

关于linux - BASH中的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63505773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com