# 기본적인 변수 값 출력
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,,}