Я пытаюсь выяснить, почему мой обход не работает. Я считаю, что я изолировал проблему до точки в коде, где он говорит «каталог содержит», а затем то, что было передано функции. Функция получает переданный массив, содержащий все новые пути к файлу для эха, но по какой-то причине он получает только первый. Я передаю массив неправильно или может быть что-то еще?Рекурсивная ширина первого обхода в Bash
#!/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
}
Ahh, спасибо за это :) – Sam