0
我正在努力围绕Bash数组进行打包,特别是我有这个函数需要加载数组;我写的是这样的:Bash函数,数组howto?
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)中提供不同的数组名称。但是,我不知道如何完成这些任务,或者如果它们可能/可行。
任何帮助将非常欢迎!
“功能只能工作一次”?!它根本不起作用。代码中有语法错误。 – choroba 2013-04-30 07:23:02
[永远不解析ls的输出](http://mywiki.wooledge.org/ParsingLs)使用file-globbing代替 – 2013-04-30 07:35:31
你认为'如果$ array'呢? – choroba 2013-04-30 07:37:40