我尝试将文件从目录加载到关联数组,其访问权限为" FDN,4"其中FND是文件的基名,4 - 是行号:
loadFiles() {
local iter
local comname
local lines
echo "# Loading files"
find ./sys -type f | while read iter
do
comname=$(basename "$iter" .aic)
echo "# $comname"
local i
i=0
while IFS= read -r line
do
commands["$comname,$i"]="$line"
#echo "$comname,$i = ${commands[$comname,$i]}"
((i++))
done < "$iter"
[[ -n $line ]] && commands["$comname,$i"]="$line"
done
}
loadFiles
echo "POP,4 = ${commands[POP,4]}"
我什么都没得到,。/ sys / dir / Pod.aic文件存在,而且这个文件中也存在第4行。循环中的注释回显显示值赋值。
任何人,请帮助并告诉我哪里错了?
答案 0 :(得分:1)
找到邪恶的根源 - 子壳。回声&#34; 1 2 3&#34; |而&lt; ...&gt;将提交nex子shell,因此变量将仅在本地设置。灵魂就是在&lt; ...&gt;时使用完成&lt; &lt;(找./sys -type f)