【发布时间】:2013-04-30 07:13:57
【问题描述】:
我正在努力解决 Bash 数组的问题,特别是我有这个函数,我需要加载一个数组;我写的是这样的:
function list_files() {
for f in *; do
[[ -e $f ]] || continue
done
}
function list_array() {
array=list_files
number=0
for items in "${array[@]}"
do
let "number +=1"
echo -e "\033[1m$number\033[0m) $items"
tput sgr0
let "number -=$(echo "${#array[*]}")"
done
}
这里的问题是该函数只工作一次,但是我需要在脚本中运行几次。我不确定如何去做。每次调用函数时我都必须清空并重新加载数组,或者我必须在函数参数中提供不同的数组名称(list_array myarrayname 而不是 list_array)。但是我不知道如何完成这些任务,或者它们是否可能/可行。
非常欢迎任何帮助!
【问题讨论】:
-
“该功能只工作一次”?!它根本不起作用。您的代码中存在语法错误。
-
never parse the output of ls 使用文件通配符
-
你认为
if $array会做什么?