2014-02-25 2 views
0

나는이 언어를 무료로 작성했습니다. 배시에서 어떻게해야할지 모르겠습니다.bash에서 변수가되는 문자열

array=('address'=> '127.0.0.1', 'port' => '22') 

을 그리고 다음과 같이 bash는 변수로 배열 키에 액세스 :

나는 다음과 같은 배열을하고 싶습니다

$address=127.0.01 
echo $address 

127.0.0.1 

감사합니다.

+0

JSON 파서를 가져옵니다. – devnull

+0

'주소 = 127.0.0.1; var = "주소"; echo $ {! var}' – bobah

답변

2

질문이 있으시면 associative arrays이 필요하다고 생각합니다. 이러한 필요가 명시 적으로 declare -A 선언한다 : 당신은 한 번에 여러 요소를 지정할 수 있습니다

 
$ declare -A array 
$ array[address]=127.0.0.1 
$ array[port]=22 
$ key=address 
$ echo ${array[$key]} 
127.0.0.1 
$ key=port 
$ echo ${array[$key]} 
22 
$ echo ${!array[@]} 
address port 
$ echo ${array[@]} 
127.0.0.1 22 
$ 

:

$ array=([address]=127.0.0.1 [port]=22) 
$ 

당신은 연관 배열을 통해 반복 할 수 :

 
$ for key in ${!array[@]}; do 
>  echo "key=\"$key\", array[$key]=\"${array[$key]}\"" 
> done 
key="address", array[address]="127.0.0.1" 
key="port", array[port]="22" 
$ 

참고 연관 배열 버전 4.0 이상에서만 사용 가능합니다.

+0

슈퍼! 고마워, 도움이 됐어. – outrunthewolf

관련 문제