我正在处理一些文件夹,每个文件夹代表一本书的页面。例如。 “Iliad-001”将是Book = Iliad,Page = 001。变量赋值左侧的参数替换 - BASH和阵列
我想循环遍历所有的文件夹,为每本书创建一个数组,并为每个找到的页面添加一个条目到数组中,这样我就可以在脚本的末尾输入echo ${Iliad[@]}
,它会给我它找到的所有页面的不错列表。
我遇到的问题是将数值添加到具有动态名称的数组中。下面是我认为是直观的(但显然不是右)代码:
for j in */; do
vol_name=$(basename "$j" | sed 's/\(.*\)-[0-9]*/\1/')
page_name=$(basename "$j" | sed 's/.*-\([0-9]*\)/\1/')
$vol_name+=("$page_name")
done
这将返回:
syntax error near unexpected token `"$page_name"'
如果我改变变量赋值给这个$vol_name+="("$page_name")"
我得到一点点接近:
Iliad+=(001): command not found
请参见[BashFAQ/006](http://mywiki.wooledge.org/BashFAQ/006) – 2013-05-10 21:46:40