最佳答案
我试图将来自 find
的结果保存为数组。
这是我的代码:
#!/bin/bash
echo "input : "
read input
echo "searching file with this pattern '${input}' under present directory"
array=`find . -name ${input}`
len=${#array[*]}
echo "found : ${len}"
i=0
while [ $i -lt $len ]
do
echo ${array[$i]}
let i++
done
我得到了2. txt 文件的工作目录。
所以我期望’2’作为 ${len}
的结果。但是,它打印1。
原因是它将 find
的所有结果作为一个元素。
我该怎么补救?
附言
我在 StackOverFlow 上找到了几个解决类似问题的方案。然而,他们有一点点不同,所以我不能申请我的情况。我需要在循环之前将结果存储在一个变量中。再次感谢。