IT 프로그래밍/오픈소스소프트웨어

[오픈소스소프트웨어] 변수의 값

기술1 2024. 10. 7. 17:02
반응형

변수의 값을 꺼내기 위해선 $var name 표현을 사용합니다. 하지만 보다 일반적인 ${varname}같이 변수 이름을 중괄호로 둘러싸는 방법이 있습니다. 

 

예 : 10번째 positional parameter?

${10} //ok
$10 //not okay

 

만약 중괄호를 하지 않으면 변수 뒤에 _를 넣고 싶을 때 _또한 포함해서 읽어주는 것이 발생할 수 있기 때문에 변수를 표현하기 위해선 중괄호를 표현하는 것이 좋습니다.

$echo ${UID}_

 

문자열 연산자(String Operators)

문자열 연산자를 이용하여 변수의 값을 다양한 방법으로 조작합니다.

 

예를들면

  • 변수가 존재하는지 확인
  • 변수의 default값을 설정
  • 존재하지 않는 변수를 사용하려는 오류 적절히 처리
  • 변수 값의 일부를패턴 매칭을 통해 제거

문자열 연산 규칙

  • 변수 이름과 오른쪽 중괄호 사이에 연산자를 삽입
  • 연산자가 요구하는 매개변수를 연산자의 오른쪽에 삽입

변수가 존재하고 그 값이 NULL이 아니면 그 값을 그대로 리턴합니다. 그렇지 않을 경우 word를 리턴, 변수값이 정의되지 않은 경우 디폴트 값을 지정하는 용도로 적합합니다. 결과값으로 0이 나옵니다.

20을 지정해주면 이렇게 나오게 됩니다.


${var:=word}

변수의 값이 정의되어 있지 않으면 word에 해당하는 것을 word에 할당하는 것입니다. 

정의되지 않았을 때 = 을 통해 지정된 값으로 세팅을 해주는 방식입니다.


${var:?message}

변수가 존재하고 null이 아니면 사용한다는 것이고 정의되지 않았으면 주어진 메세지를 출력하고 현재 스크립트의 수행을 종료하는 것입니다.


${var:+word}

변수 var가 존재하고 null이 아니면 word를 리턴, 그렇지 않으면 null을 리턴, 변수의 존재를 테스트하는데 주로 사용 

예) ${count+1}은 count변수가 존재하는 경우 1을 리턴, 그렇지 않으면 null을 리턴


${var:offset:length}

변수 var의 offset 위치에서부터 length 개수 만큼의 서브문자열을 리턴합니다.


 

반응형