Quelqu'un peut-il expliquer la différence entre déclarer et composer avec des exemples réels.
22
Dans bash
, typeset
et declare
sont exactement les mêmes. La seule différence est qu'elle typeset
est considérée comme obsolète.
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
La page de manuel les répertorie même du même souffle:
declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
Declare variables and/or give them attributes.
typeset
est portable pour certains autres shells, par exemple ksh93
,. Si vous visez la portabilité cross-shell, utilisez typeset
(et assurez-vous que la façon dont vous l'appelez est portable). Si vous ne vous souciez pas d'une telle portabilité, utilisez declare
.
help typeset
, pas dansman typeset
.typeset
est considéré comme obsolète?Je connais un cas où il
declare
est utile d'éviter le maleval
: indirection variable :la source
typeset
etdeclare
?