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

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

실제 사례 declare와 차이점을 설명할 수 있는 사람이 있나요?typeset

답변1

Zhong bash, typeset그리고 declare정확히 동일합니다. 유일한 차이점은 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.

답변2

declare나는 악을 피하는 데 도움이 되는 사례를 알고 있습니다 eval.가변 간접:

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

관련 정보