Linux/쉘스크립트

쉘 배열문이란?

쿠카이든 2023. 2. 3. 10:28
728x90
쉘 배열문

 
 

배열 생성 / 추가
BASH

#!/bin/bash
 
# 배열의 크기 지정없이 배열 변수 선언
# 굳이 'declare -a' 명령으로 선언하지 않아도 바로 배열 변수 사용 가능함
declare -a array
 
arr=("test1" "test2" "test3") # 배열 선언 및 지정
 
echo ${arr[0]}  # test1
 
 
# 기존 배열에 1개의 배열 값 추가 3가지 방법
arr[3]="test4" 
arr+=("test5")
arr[${#arr[@]}]="test6" # 배열 길이를 인덱스로 사용해 push
 
 
echo ${arr[@]}  # arr의 모든 데이터 출력
echo ${arr[*]}  # arr의 모든 데이터 출력
echo ${#arr[@]} # arr 배열 길이 출력
 
echo ${arr[@]:2:3} # 2부터 3개의 요소

 

$ ./script.sh
test1
test1 test2 test3 test4 test5 test6
test1 test2 test3 test4 test5 test6
6
test3 test4 test5
리눅스 쉘은 1차원 배열만 지원한다.
배열 원소 삭제
 /를 사용해 해당 문자열 부분이 있으면 삭제 할 수 있다.
다만 unset을 이용해 삭제를 권고하는 편이다.

 

arr=(1 2 3)
remove_element=(3)
 
arr=( "${arr[@]/$remove_element}" ) # 배열 1 2 3 에서 / 3을 없앰
 
echo ${arr[@]} # > 1 2
Copy
BASH
arr=("abc" "def" "defghi")
 
unset arr[1] # 배열 특정 인덱스 요소 삭제
 
echo ${arr[@]} > # abc defghi


 출처 : https://inpa.tistory.com/entry/LINUX-%EC%89%98-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%95%B5%EC%8B%AC-%EB%AC%B8%EB%B2%95-%EC%B4%9D%EC%A0%95%EB%A6%AC

728x90

'Linux > 쉘스크립트' 카테고리의 다른 글

쉘스크립트 예제  (2) 2023.02.06
(shell script) 문자열 패턴 비교  (0) 2023.02.05
쉘 조건문 - if문  (2) 2023.02.01
let 연산자와 $(( )) 연산자 예제  (0) 2023.01.31
expr 연산자 예제  (0) 2023.01.30