선언과 조판의 차이점은 무엇입니까

누구나 실제 예제를 통해 선언과 조판의 차이점을 설명 할 수 있습니까?

답변

bash, typesetdeclare는 정확히 동일합니다. 유일한 차이점은 typeset가 더 이상 사용되지 않는 것으로 간주된다는 것입니다.

 typeset: typeset [-aAfFgilrtux] [-p] name[=value] ... Set variable values and attributes. Obsolete. See `help declare".  

맨 페이지에는 같은 숨결로도 나열됩니다.

 declare [-aAfFgilrtux] [-p] [name[=value] ...] typeset [-aAfFgilrtux] [-p] [name[=value] ...] Declare variables and/or give them attributes.  

typeset는 다른 셸 (예 : ksh93)로 이식 가능합니다. 쉘 간 이식성을 목표로하는 경우 typeset를 사용하십시오 (그리고 호출하는 방식이 이식 가능한지 확인하십시오). 이러한 이식성에 관심이 없다면 declare를 사용하세요.

댓글

  • 제발 bash 스크립트에서 이것이 사용되는 위치와 이유에 대한 몇 가지 예를 제공합니다.
  • … 말했듯이 정확히 동일합니다. ' 구분할 수 있습니다.
  • 좋은 것입니다. " 사용되지 않는 "는 help typeset, man typeset가 아닙니다.
  • @ChrisDown, 당신은 ' 정확히 typeset이 (가) 구식으로 간주되는 이유를 아십니까?

답변

declare가 악을 피하는 데 유용한 경우를 알고 있습니다. eval : 변수 간접 :

$ var=foo $ x=var $ declare "$x=another_value" $ echo $var another_value 

댓글

  • 좋은 댓글이지만 질문에 대한 답은 어떻게됩니까? ab 아웃 typesetdeclare?
  • 이것은 이미 Chris Down의 답변입니다. 제 답변은 ' 유용합니다.
  • 아마도 ' 명확하지 않았습니다. 댓글은 댓글이고 답변은 답변이어야합니다. 이것은 답변이 아니라 댓글입니다.
  • 내 스 니펫은 ' 댓글에서 지워지지 않습니다
  • 하지만 여전히 다음을 사용하여 변수를 할당 할 수 있습니다. 조판 … 선언을 조판으로 바꾸면 동일한 결과를 얻을 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다