본문 바로가기

Operating Systems/Linux

[ Linux ] 매개변수 확장(SHELL PARAMETER EXPANSION) 활용

# 기본적인 변수 값 출력
VAR="This is General Parameter"
echo $VAR

# 매개변수 확장 모드로 변수 값 출력
VAR="This is Expansion Parameter"
echo ${VAR}

# 변수 값의 문자열 길이 출력
VAR="123456789"
echo ${#VAR}

# 변수 값 배열 첫번째 요소의 값을 반환
VAR=(A B C)
echo ${VAR[0]}

# 변수 값 배열 요소의 갯수를 반환
VAR=(A B C)
echo ${#VAR[*]}

# 변수 값 offset(3번째) 이후의 문자열을 추출
VAR="123456789"
echo ${VAR:3}

# 변수 값 offset(5번째) 이후 2개만큼의 문자열을 추출
VAR="123456789"
echo ${VAR:5:2}

# 변수에 값이 존재하면 그 값을 사용 
# 변수가 선언되지 않았거나 변수 값이 NULL값일 경우 
# 매개변수에 주어진 값을 사용 및 저장
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR:="987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR:="987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR:="987654321"}
echo $VAR

# 변수에 값이 존재하면 그 값을 사용
# 변수가 선언되지 않았을 경우 매개변수에 주어진 값을 사용 및 저장
# NULL 값일 경우 사용되지 않음
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR="987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR="987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR="987654321"}
echo $VAR

# 변수에 값과 관계없이 매개변수에 주어진 값을 사용
# 단 변수에 값이 저장되지는 않음
# 변수값이 선언되지 않았을 경우 사용되지 않음
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR:+"987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR:+"987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR:+"987654321"}
echo $VAR

# 변수에 값과 관계없이 매개변수에 주어진 값을 사용
# 단 변수에 값이 저장되지는 않음
# 변수값이 선언되지 않았을 경우 사용되지 않음
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR+"987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR+"987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR+"987654321"}
echo $VAR

# 변수에 값이 존재하면 그 값을 사용
# 변수가 선언되지 않았거나 변수 값이 NULL값일 경우 
# 매개변수에 주어진 값을 사용
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR:-"987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR:-"987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR:-"987654321"}
echo $VAR

# 변수에 값이 존재하면 그 값을 사용
# 변수가 선언되지 않았을 경우 매개변수에 주어진 값을 사용
# NULL 값일 경우 사용되지 않음
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR-"987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR-"987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR-"987654321"}
echo $VAR

# 변수에 값이 존재하면 그 값을 사용
# 변수가 선언되지 않았거나 변수 값이 NULL값일 경우 
# 에러와 함께 매개변수 값을 출력
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR:?"987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR:?"987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR:?"987654321"}
echo $VAR

# 변수에 값이 존재하면 그 값을 사용
# 변수가 선언되지 않았거나 변수 값이 NULL값일 경우 
# 에러와 함께 매개변수 값을 출력
VAR="123456789"
echo "변수값이 존재할 경우"
echo $VAR
echo ${VAR:?"987654321"}
echo $VAR
echo "변수값이 NULL값일 경우"
VAR=
echo $VAR
echo ${VAR:?"987654321"}
echo $VAR
echo "변수값이 선언되어있지 않을 경우"
unset VAR
echo $VAR
echo ${VAR:?"987654321"}
echo $VAR

# 변수 값 앞부분부터 가장 짧게 일치하는 매개변수 값을 삭제
VAR="/home/hmwoo"
echo ${VAR#*/}

# 변수 값 앞부분부터 가장 길게 일치하는 매개변수 값을 삭제
VAR="/home/hmwoo"
echo ${VAR##*/}

# 변수 값 뒷부분부터 가장 짧게 일치하는 매개변수 값을 삭제
VAR="/home/hmwoo"
echo ${VAR%/*}

# 변수 값 뒷부분부터 가장 길게 일치하는 매개변수 값을 삭제
VAR="/home/hmwoo"
echo ${VAR%%/*}

# 변수 값에서 검색 문자열과 일치하는 첫번째 문자열을 변경하여 출력
VAR="Hello Hello World"
echo ${VAR/Hello/Hi}

# 변수 값에서 검색 문자열과 일치하는 모든 문자열을 변경하여 출력
VAR="Hello Hello World"
echo ${VAR//Hello/Hi}

# 변수 값의 앞부분이 검색 문자열과 일차한 경우 변경
VAR="Hello World Hello"
echo ${VAR/#Hello/Hi}

# 변수 값의 뒷부분이 검색 문자열과 일차한 경우 변경
VAR="Hello World Hello"
echo ${VAR/%Hello/Hi}

# 변수 값의 첫 문자만 대문자로 변경
VAR="hello World"
echo ${VAR^}

# 변수 값을 모두 대문자로 변경
VAR="Hello World"
echo ${VAR^^}

# 변수 값의 첫 문자만 소문자로 변경
VAR="Hello World"
echo ${VAR,}

# 변수 값을 모두 소문자로 변경
VAR="Hello World"
echo ${VAR,,}

'Operating Systems > Linux' 카테고리의 다른 글

[ Linux ] GREP 활용  (0) 2021.08.14
[ Linux ] ERROR 발생 대응  (0) 2021.08.08
[ Linux ] UBUNTU20 설치 [임시작성]  (0) 2021.08.07
[ Linux ] CENTOS7 설치 [임시작성]  (0) 2021.08.07
[ Linux ] HEREDOC 활용  (0) 2021.08.07