답변:
에서 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
.
help typeset
되지 않고에 표시 됩니다 man typeset
.
typeset
쓸모없는 것으로 간주 되는지 알지 못 합니까?
나는 declare
악을 피하는 것이 유용한 경우를 알고 있습니다 eval
: 변수 간접 :
$ var=foo
$ x=var
$ declare "$x=another_value"
$ echo $var
another_value
typeset
하고 declare
?