Program Tip

": $ {foo = value}"의 콜론 연산자 설명

programtip 2020. 11. 5. 18:54
반응형

": $ {foo = value}"의 콜론 연산자 설명


나는 null 처럼 작동하는 bash의 콜론 연산자를 이해하고 매개 변수 확장 에 사용되며 다른 방법으로 사용된다는 것을 알고 있지만 누군가 이것을 설명 할 수 있습니다.

: ${SOMETHING='value'}

실험에서 나는 이것이 환경 변수 $SOMETHING설정한다는 것을 알고 'value'있지만 그 이유는 무엇입니까?

"그냥 그렇기 때문에"는 유효한 대답이지만 그에 대한 문서 (찾을 수없는 것 같음)를 알려주거나이 사용법에 대한 적절한 이름이 유용 할 것입니다. 나는 더 깨달은 설명이 있기를 바랍니다.


표현식은 value아직 설정되지 않은 경우 SOMETHING을로 설정합니다. 이것은 많은 상황에서 유용한 연산자입니다. 그러나 할당 된 값도 반환하므로 단순히 실행하면

${SOMETHING='value'}

그러면 쉘이 명령 호출을 시도합니다 value. 이것은 원하지 않는 일을 할 수도 있고하지 않을 수도 있습니다. 최소한 "값 : 명령을 찾을 수 없음"이라는 메시지가 표시됩니다.

이를 피하려면 :인수를 실행하는 대신 인수를 평가 한 다음 버리는 no-op을 사용할 수 있습니다 .


여기에 설명 : http://tldp.org/LDP/abs/html/parameter-substitution.html

매개 변수가 설정되지 않은 경우 기본값으로 설정하십시오.

둘 다 거의 동등합니다. :는 $ parameter가 선언되고 null 인 경우에만 차이가 있습니다. [1]

echo ${var=abc}   # abc
echo ${var=xyz}   # abc
# $var had already been set to abc, so it did not change.

참고 URL : https://stackoverflow.com/questions/7444504/explanation-of-colon-operator-in-foo-value

반응형