KSH에서 TELESET을 사용하여 단순히 변수를 설정하는 것 사이에 차이가 있습니까?

StackOverflow https://stackoverflow.com/questions/1027869

  •  06-07-2019
  •  | 
  •  

문제

다음 2 줄은 완전히 동일합니까? 차이점이 아니라면? 나는 많은 쉘 스크립트가 숫자 1을 사용하는 것을 보았고 2 번과 비교할 때 그것이 무엇을 주는지 궁금해했습니다.

  1. typeset TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
  2. TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
도움이 되었습니까?

해결책

typeset 로컬 변수를 생성합니다 ( "누출되지 않는"). 이것은 함수에 유용하지만 쉘 스크립트의 최상위 레벨에서 사용되는 것을 보았습니다.

a=0
function x {
    typeset a=1
}
x
echo $a
function y {
    a=2
}
y
echo $a

인쇄 할 것입니다

0
2

당신은 또한 사용할 수 있습니다 typeset 배열과 정수를 생성합니다.

편집하다 추가 function 일부 쉘에 필요하기 때문에 키워드. 쉘을 화나게하면 제거하지만 대부분의 버전에서 작동해야합니다.

다른 팁

Shell 스크립팅은 느슨하게 입력 된 언어 (변수에 datytype가없는)이므로 Typset을 사용하여 특정 변수를 설정하여 유사한 데이터 유형의 값 만 가져갈 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top