Вот небольшой полный тест оболочки для того, что вы хотите - выполнить его в безопасном месте, например, в то время как в/TMP:
# Prepare
rm -rf root
mkdir root
mkdir root/1
touch root/1/a
touch root/1/b
#touch root/1/"b with spaces"
mkdir root/2
touch root/2/c
mkdir root/2/3
touch root/2/3/d
# Find
echo --- Find
find root
# Test
echo --- Test
files=(`find root -type f`)
echo $files
# Print whole array
flen=${#files[*]}
for ((i=0; i < $flen; i++)); do
echo files[$i] = ${files[i]}
done
Выход этого:
--- Find
root
root/1
root/1/a
root/1/b
root/2
root/2/c
root/2/3
root/2/3/d
--- Test
root/1/a
files[0] = root/1/a
files[1] = root/1/b
files[2] = root/2/c
files[3] = root/2/3/d
Остерегайтесь, однако, пробелов в файле - если вы раскомментировать комментируемой касание выше, удалив #
перед этой линии:
#touch root/1/"b with spaces"
вы получите следующее:
--- Find
root
root/1
root/1/b with spaces
root/1/a
root/1/b
root/2
root/2/c
root/2/3
root/2/3/d
--- Test
root/1/b
files[0] = root/1/b
files[1] = with
files[2] = spaces
files[3] = root/1/a
files[4] = root/1/b
files[5] = root/2/c
files[6] = root/2/3/d
Очевидно, что вы можете сделать что-то вроде этого:
Надеется, что это помогает.
В первой строке не должно быть скобок! Это то, что оболочка жалуется -0403-057 Синтаксическая ошибка в строке 1: '('не ожидается' –