링크 ux 셸 배열
bash 는 1 차원 배열 (다 차원 배열 은 지원 되 지 않 음) 을 지원 하고 배열 의 크기 를 제한 하지 않 습 니 다.C 언어 와 유사 하 며, 배열 요소 의 아래 표 시 는 0 부터 번 호 를 매 긴 다.배열 의 요 소 를 가 져 오 려 면 아래 표 시 를 이용 해 야 합 니 다. 아래 표 시 는 정수 나 산술 표현 식 일 수 있 습 니 다. 그 값 은 0 보다 크 거나 같 아야 합 니 다.
정의 배열
셸 에 서 는 괄호 로 배열 을 표시 하고 배열 요 소 는 '빈 칸' 기호 로 나 뉜 다.배열 의 일반적인 형식 을 다음 과 같이 정의 합 니 다.
=( 1 2 ... n)
예 를 들 면:
array_name=(value0 value1 value2 value3)
혹은
array_name=(
value0
value1
value2
value3
)
배열 의 각 분량 을 따로 정의 할 수 있 습 니 다.
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen
연속 적 인 하 표를 사용 하지 않 아 도 되 고 하 표 의 범 위 는 제한 이 없다.
읽 기 배열
배열 요소 값 을 읽 는 일반적인 형식 은:
${ [ ]}
예 를 들 면:
valuen=${array_name[n]}
@ 기 호 를 사용 하면 배열 의 모든 요 소 를 가 져 올 수 있 습 니 다. 예 를 들 어:
echo ${array_name[@]}
배열 의 길이 가 져 오기
배열 길 이 를 가 져 오 는 방법 은 문자열 길 이 를 가 져 오 는 방법 과 같 습 니 다. 예 를 들 어:
#
length=${#array_name[@]}
#
length=${#array_name[*]}
#
lengthn=${#array_name[n]}
첨부: 셸 배열 소결
언제 썼 는 지 모 르 겠 지만 문 서 를 정리 하 다가 고고학 적 으로 발견 되 어 놀 고 있 는 사람들 에 게 웃 으 며 지나 가자.만약 본 논문 의 잘못 이 당신 에 게 모든 정신 적 손실 을 가 져 다 준다 면 보험 회 사 를 찾 아 동반 하 십시오!물론 알려 주 셔 도 됩 니 다.
배열 은 특수 한 데이터 구조 로 서 어떠한 프로 그래 밍 언어 에서 도 자 리 를 잡 을 수 있 습 니 다. 물론 bash 셸 도 예외 가 아 닙 니 다.본 고 는 셸 배열 에 대해 작은 총 결 을 한다.여기 서 1 차원 배열 의 상황 만 토론 하고 다 차원 배열 (사실은 1 차원 배열 의 방법 으로 모 의 해 야 한다) 에 대해 서 는 언급 하지 않 습 니 다.여기 에는 배열 의 복사, 계산, 삭제, 교체 가 포함 되 어 있다.
배열 의 설명:
array[key]=value # array[0]=one,array[1]=two
declare -a array # array
array=( value1 value2 value3 ... )
array=( [1]=one [2]=two [3]=three ... )
array="one two three" # echo ${array[0|@|*]}, array ,
배열 접근:
${array[key]} # ${array[1]}
배열 삭제
unset array[1] #
unset array #
배열 의 길 이 를 계산 합 니 다:
${#array}
${#array[0]} # 。 ${#array[*]} 、${#array[@]}。 #{array:0}
배열 추출
끝부분 부터 추출:
array=( [0]=one [1]=two [2]=three [3]=four )
${array[@]:1} # two three four, , ${array[@]:0}
${array[@]:0:2} # one two
${array[@]:1:2} # two three
하위 문자열 삭제
[root@localhost dev]# echo ${array[@]:0}
one two three four
[root@localhost dev]# echo ${array[@]#t*e} # :"t*e", "thre"
one two e four
[root@localhost dev]# echo ${array[@]##t*e} # , "three"
[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )
[root@localhost dev]# echo ${array[@] %o} #
one tw three four
[root@localhost dev]# echo ${array[@] %%o} #
one tw three four
하위 문자열 교체
[root@localhost dev]# array=( [0]=one [1]=two [2]=three [3]=four )
첫 번 째 일치 하 는 것 은 삭 제 됩 니 다.
[root@localhost dev]# echo ${array[@] /o/m}
mne twm three fmur
일치 하 는 모든 것 이 삭 제 됩 니 다.
[root@localhost dev]# echo ${array[@] //o/m}
mne twm three fmur
대체 문자열 이 지정 되 지 않 으 면 일치 하 는 하위 문자열 을 삭제 합 니 다.
[root@localhost dev]# echo ${array[@] //o/}
ne tw three fur
문자열 앞 단자 문자열 바 꾸 기
[root@localhost dev]# echo ${array[@] /#o/k}
kne two three four
대체 문자열 후 단자 문자열
[root@localhost dev]# echo ${array[@] /%o/k}
one twk three four
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.