我试图找出为什么我的遍历不起作用。我相信我已经将问题隔离到代码中它说“目录包含”的地方,然后是传递给函数的内容。该函数被传递了一个数组,其中包含所有要回显的新文件路径,但由于某种原因,它只接收第一个。我是错误地传递了数组还是可能是别的东西?
#!/bin/bash
traverse(){
directory=$1
for x in ${directory[@]}; do
echo "directory contains: " ${directory[@]}
temp=(`ls $x`)
new_temp=( )
for y in ${temp[@]}; do
echo $x/$y
new_temp=(${new_temp[@]} $x/$y)
done
done
((depth--))
if [ $depth -gt 0 ]; then
traverse $new_temp
fi
}