셸 배열

3169 단어 Shell
셸 배열
인용 하 다.
http://www.runoob.com/linux/linux-shell-array.html https://blog.csdn.net/Jerry_1126/article/details/52027539
셸 배열
배열 에 여러 값 을 저장 할 수 있 습 니 다.Bash Shell 은 1 차원 배열 만 지원 합 니 다 (다 차원 배열 은 지원 되 지 않 습 니 다). 초기 화 할 때 배열 크기 를 정의 할 필요 가 없습니다 (PHP 와 유사 합 니 다).
대부분의 프로 그래 밍 언어 와 유사 하 며, 배열 요소 의 아래 표 시 는 0 으로 시작 합 니 다.
Shell 배열 은 괄호 로 요 소 를 '빈 칸' 기호 로 나 누고 문법 형식 은 다음 과 같 습 니 다.
array_name=(value1 ... valuen)

실례
#!bin/sh

#       
array=( one two three )
echo ${array[@]}

#        
array=(
    one
    two
    three
)
echo ${array[@]}

#        
array[0]=one
array[1]=two
array[2]=three
echo ${array[@]}

읽 기 배열
배열 요소 값 을 읽 는 일반적인 형식 은:
${array_name[index]}

실례
#!/bin/bash
array=( one two three )
echo "      : ${array[0]}"
echo "      : ${array[1]}"
echo "      : ${array[2]}"

스 크 립 트 를 실행 합 니 다. 출력 결 과 는 다음 과 같 습 니 다.
      : one
      : two
      : three

배열 의 모든 요 소 를 가 져 오기 @ 또는 * 를 사용 하면 배열 의 모든 요 소 를 가 져 올 수 있 습 니 다. 예 를 들 어:
array=( one two three )
echo ${array[@]}
echo ${array[*]}

출력 결 과 는 다음 과 같 습 니 다.
one two three
one two three

배열 옮 겨 다 니 기
배열 아래 표 시 를 통 해 배열 을 옮 겨 다 니 기:
array=( one two three )
for i in ${!array[@]}
do
    echo ${array[i]}
done

실행 결과:
one
two
three

직접 배열 옮 겨 다 니 기
array=( one two three )
for i in ${array[@]}
do
    echo $i
done

배열 에 있 는 요 소 를 삭제 합 니 다. unset array [index]. 여기에 구덩이 가 있 습 니 다.
array=( one two three )
echo ${array[@]}
unset array[0]
echo ${array[@]}
echo "      : ${#array[@]}"

출력 결 과 는:
one two three
two three
      : 2

배열 크기 가 2 인 이상 배열 위치 가 0 인 요 소 를 인쇄 합 니 다.
array=( one two three )
echo ${array[@]}
unset array[0]
echo ${array[@]}
echo "      : ${#array[@]}"

echo "      0      ${array[0]}"
for i in ${!array[@]}
do
        echo "      $i"
done

결 과 는 다음 과 같다.
one two three
two three
      : 2
      0      #    two  
      1         #         0     
      2

그래서 저 는 보통 요 소 를 삭제 하고...
array=( one two three )
echo ${array[@]}
unset array[0]
array=("${array[@]}")  #       
echo ${array[@]}
echo "      : ${#array[@]}"

echo "      0      ${array[0]}"
for i in ${!array[@]}
do
        echo "      $i"
done

결 과 는:
one two three
two three
      : 2
      0      two
      0
      1

배열: 일반적인 형식 ${array [@]: 시작 위치: 길이}, 중간 은 ":" 로 구분 되 며, 두 번 째 항목 이 생략 되면 뒤의 모든 항목 을 가 져 옵 니 다.
array=( one two three  four)
echo  ${array[@]}     #       : one two three four
echo  ${array[@]:1}   #        1         : two three four
echo  ${array[@]:0:2} #        0        2         : one two
echo  ${array[@]::2}  #    : one two
echo  ${array[@]:(-2):1} #             ,  1   : three

좋은 웹페이지 즐겨찾기