다음 코드는 아무 것도 출력하지 않습니다.배쉬 배열이 작동하지 않습니까?
#!/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
나는 소유자, 관리자, LOC 및 서비스에서 인덱스 배열에게 단지를 만들어야합니다.
echo $ {a [owner]}의 출력이 sysadmin 그룹이되도록 기대하고있었습니다.
어떤 도움이 필요합니까?
EDIT : 내가 sysadmin 그룹과 관련이 있다고 생각하는데, 어떻게 공간 (2 단어)을 변수 (값)로 읽습니까?
가능한 중복 http://stackoverflow.com/questions/1789750/scope-of-variable-in-pipe 우리의 실제 할당 출력하는 스크립트를 작성하는 것입니다 –