2013-01-07 3 views
0

this answer in superuser에 따라 문자열 문자열에 대한 확인, 나는 떠들썩한 파티에서 그 기능을 썼다 : 나는 그런 식으로 전화 드렸습니다배쉬 :

_add_env() 
{ 
    export $1 
    if [[ ":\$$1:" != *":$2:"* ]]; then 
      eval $1="\$$1:$2"; 
    fi 
}; 

: _merge_env PATH "/ 홈/지하철/땅"

을 PATH에 주어진 경로가 포함되어 있어도 조건이 true 인 것 같습니다.

  • 579 : [: $ 경로 :! = : 여기

    가 관련 떠들썩한 파티 -x 출력/\ H \ O \ m의 \ 전자/\ S \ U \ B \ \ w 내가 잘못 뭐하는 거지

]

  • 580 : : : 평가 '/ 홈/지하철/땅 PATH = $ PATH에'는 \ n 개의 \ d 개 \ \ y를 /의 \ 리터?

  • 답변

    1

    "\$$1"은 $ PATH의 내용으로 평가되지 않고 $PATH으로 평가됩니다. 변수 간접 사용 :

    [[ ":${!1}:" != *":$2:" ]] 
    
    +0

    작동합니다! 감사. 가변 간접 참조가 무엇을 의미하는지 설명해 주시겠습니까? 제 말은, 정확히 그 직업은 무엇입니까? – Subway

    +0

    그 일은 당신이 여기서 시도하는 것입니다 : 변수의 값을 변수의 이름으로 사용하여 확장하십시오. – choroba