리눅스

매개변수 확장

ho-bolt 2021. 10. 26. 14:47

${ 변수이름#정규식} : 변수이름의 앞부분부터 가장 짧게 일치하는 정규식을 삭제 

변수뒤에 #/를 하니 가장 먼저 있는 /가 사라졌고 #을 누른 후  원하는 문자를 넣으면 그 문자는 삭제된다.

 

* 모든 문자 

 

${ 변수이름##정규식} : 변수이름의 앞부분부터 가장 길게 일치하는 정규식을 삭제 

##은 가장 길게 일치하는 것을 삭제 한다. 따라서 home을 잇는 것을 지워버렸다.

## 뒤에 붙은 것이 나올 때까지 것을 삭제한다.

 

이 매개변수는 가장 자주 사용하는 것들중에 하나이다.

 

이렇게 만약 전체조회가 아니라 sysconfig라는 현재 디렉토리만 보고 싶을 때 사용한다. 

 

위에 것과 반대로는 #가 아니라 % 이다. 

${ 변수이름%정규식} 

${ 변수이름%%정규식} 

 

 

치환

 

VAR안에 값의 /Hello를 /Hi로 바꿔달라는 뜻

만약 해당하는 문자를 다 바꾸고 싶다면 

앞에 //를 두개 넣는다.

 

#= 가장 앞에 있는 부분을 뜻함

VAR값이 이렇게 있을 때 앞에 해당하는 Hello만 바꾸고 싶다면 /#를 사용한다. 

뒤에 부분을 바꾸고 싶다면 # 자리에 %를 넣어주면 된다. 

 

^ 가장 앞의 문자만을 대문자로 만들어 준다. 

^^ 는 모든 문자를 대문자로 만들어준다. 

,는 가장 앞에 문자만을 소문자로 만들어준다. 

,,는 모든 문자 소문자

 

728x90