리눅스
매개변수 확장
ho-bolt
2021. 10. 26. 14:47
${ 변수이름#정규식} : 변수이름의 앞부분부터 가장 짧게 일치하는 정규식을 삭제

변수뒤에 #/를 하니 가장 먼저 있는 /가 사라졌고 #을 누른 후 원하는 문자를 넣으면 그 문자는 삭제된다.
* 모든 문자
${ 변수이름##정규식} : 변수이름의 앞부분부터 가장 길게 일치하는 정규식을 삭제

##은 가장 길게 일치하는 것을 삭제 한다. 따라서 home을 잇는 것을 지워버렸다.
## 뒤에 붙은 것이 나올 때까지 것을 삭제한다.
이 매개변수는 가장 자주 사용하는 것들중에 하나이다.

이렇게 만약 전체조회가 아니라 sysconfig라는 현재 디렉토리만 보고 싶을 때 사용한다.
위에 것과 반대로는 #가 아니라 % 이다.
${ 변수이름%정규식}
${ 변수이름%%정규식}

치환

VAR안에 값의 /Hello를 /Hi로 바꿔달라는 뜻
만약 해당하는 문자를 다 바꾸고 싶다면

앞에 //를 두개 넣는다.
#= 가장 앞에 있는 부분을 뜻함

VAR값이 이렇게 있을 때 앞에 해당하는 Hello만 바꾸고 싶다면 /#를 사용한다.
뒤에 부분을 바꾸고 싶다면 # 자리에 %를 넣어주면 된다.
^ 가장 앞의 문자만을 대문자로 만들어 준다.
^^ 는 모든 문자를 대문자로 만들어준다.
,는 가장 앞에 문자만을 소문자로 만들어준다.
,,는 모든 문자 소문자

728x90