"매개변수 확장"(Parameter Expansion) 이라는 용어가 맘에 안들긴 하지만, 다들 그렇게 부르니 그렇게 정리한다.
1. ${name}
name 변수의 값으로 치환한다.
2. ${name:=james}
name 변수의 값으로 치환하되, name 변수가 null이면 james 문자열을 name 변수에 저장한 후 치환한다.
3. ${name:-james}
name 변수의 값으로 치환하되, name 변수가 null이면 james 문자열로 치환한다.(저장X)
4. ${name:+james}
name 변수의 값으로 치환하되, name 변수가 null이 아니면 james 문자열로 치환한다.(name 변수가 null이면 그대로 null로 치환된다.)
5. ${name:?james}
name 변수의 값으로 치환하되, name 변수가 null이면 error상태로 종료되며 james 문자열을 보여준다.
6. ${#name}
name 변수의 값의 문자길이를 반환한다.
7. ${name:3}
name 변수의 값에서 3만큼 앞부분을 삭제한 후의 값을 반환한다.
e.g.
name=abcdefg
echo ${name:3} # defg
8. ${name:3:2}
name 변수의 값에서 3만큼 앞부분을 삭제한 후의 값에서 앞의 2개 문자열을 반환한다.
e.g.
name=abcdefg
echo ${name:3:2} # de
'Linux' 카테고리의 다른 글
[LINUX] 권장되는 조건문 사용방법 (0) | 2024.10.10 |
---|---|
[LINUX] 위치매개변수 정리 (0) | 2022.12.27 |
[LINUX] bash 쉘 명령행 편집키 정리 (0) | 2022.12.12 |
[LINUX] getopts 를 이용하여 쉘스크립트 옵션 사용하기 (0) | 2022.10.06 |
[LINUX] 쉘스크립트 디버깅 방법 (1) | 2022.10.06 |