以下代碼不會輸出任何內容。Bash數組不工作?
#!/bin/bash
declare -A a
cat input.txt | while read item value
do
if [ $item="owner" ] || [ $item="admin" ] || [ $item="loc" ] || [ $item="ser"]
then
a[$item]=$value
fi
done
echo ${a[owner]}
輸入文件是:
owner sysadmin group
admin ajr
loc S-309
ser 18r97
comment noisy fan
我需要創建陣列的僅在所有者,管理,在上述和SER索引。
我期待echo $ {a [owner]}的輸出是sysadmin組,等等。
任何幫助?
編輯: 我認爲它可能與所有者是sysadmin組有關係,我怎麼讀(空格的兩個單詞)到一個變量(值)?
可能重複http://stackoverflow.com/questions/1789750/scope-of-variable-in-pipe –