배시 파라미터를 대입(Substitution)하는 방법들

참조 원문 : HowTo: Use Bash Parameter Substitution Like A Pro

달러($) 문자는 파라미터 확장과 명령어 대입에 사용됩니다. 이걸 이용하면 sed나 awk 같은 외부 명령어 없이 필요에 따라 변수를 조작하거나 확장할 수 있습니다.
 

문자열 조작과 확장 변수

  • ${parameter:-defaultValue} : 디폴트 쉘 변수 값을 사용
  • ${parameter:=defaultValue} : 디폴트 쉘 변수 값을 설정
  • ${parameter:?”Error Message”} : 파라미터가 설정되어 있지 않았을 경우 에러 메시지 출력
  • ${#var} : 문자열의 길이 계산
  • ${var%pattern} : 오른쪽에서 패턴과 일치하는 부분 제거
  • ${var%%pattern} : 패턴과 일치하는 부분들 중 가장 왼쪽 부분부터 끝까지 제거
  • ${var:num1:num2} : 문자열 추출
  • ${var#pattern} : 왼쪽에서 패턴과 일치하는 부분 제거
  • ${var##pattern} : 패턴과 일치하는 부분들 중 가장 오른쪽 부분부터 처음까지 제거
  • ${var/pattern/string} : 검색 및 치환(1개)
  • ${var//pattern/string} : 검색 및 치환(모두)