Chr*_*own 34
在bash,typeset和declare是完全一样的。唯一的区别是它typeset被认为是过时的。
typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
Run Code Online (Sandbox Code Playgroud)
手册页甚至同时列出了它们:
declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
Declare variables and/or give them attributes.
Run Code Online (Sandbox Code Playgroud)
typeset可移植到其他一些 shell,例如ksh93. 如果您的目标是跨外壳可移植性,请使用typeset(并确保您调用它的方式是可移植的)。如果您不关心这种便携性,请使用declare.
declare我知道一个有助于避免邪恶的情况eval:变量间接:
$ var=foo
$ x=var
$ declare "$x=another_value"
$ echo $var
another_value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34990 次 |
| 最近记录: |