linux中shell内建命令,linux shell内建命令declare

详细参考

man bash中的SHELL BUILTIN COMMANDS

declare [-aAfFgilnrtux] [-p] [name[=value] ...]

typeset [-aAfFgilnrtux] [-p] [name[=value] ...]

Declare variables and/or give them attributes. If no names are given then display the values of variables. The -p option will display the attributes and values of each

name. When -p is used with name arguments, additional options, other than -f and -F, are ignored. When -p is supplied without name arguments, it will display the

attributes and values of all variables having the attributes specified by the additional options. If no other options are supplied with -p, declare will display the

attributes and values of all shell variables. The -f option will restrict the display to shell functions. The -F option inhibits the display of function definitions;

only the function name and attributes are printed. If the extdebug shell option is enabled using shopt, the source file name and line number where each name is defined

are displayed as well. The -F option implies -f. The -g option forces variables to be created or modified at the global scope, even when declare is executed in a shell

function. It is ignored in all other cases. The following options can be used to restrict output to variables with the specified attribute or to give variables

attributes:

-a Each name is an indexed array variable (see Arrays above).

-A Each name is an associative array variable (see Arrays above).

-f Use function names only.

-i The variable is treated as an integer; arithmetic evaluation (see ARITHMETIC EVALUATION above) is performed when the variable is assigned a value.

-l When the variable is assigned a value, all upper-case characters are converted to lower-case. The upper-case attribute is disabled.

-n Give each name the nameref attribute, making it a name reference to another variable. That other variable is defined by the value of name. All references, assign‐

ments, and attribute modifications to name, except those using or changing the -n attribute itself, are performed on the variable referenced by name's value. The

nameref attribute cannot be applied to array variables.

-r Make names readonly. These names cannot then be assigned values by subsequent assignment statements or unset.

-t Give each name the trace attribute. Traced functions inherit the DEBUG and RETURN traps from the calling shell. The trace attribute has no special meaning for

variables.

-u When the variable is assigned a value, all lower-case characters are converted to upper-case. The lower-case attribute is disabled.

-x Mark names for export to subsequent commands via the environment.

Using `+' instead of `-' turns off the attribute instead, with the exceptions that +a may not be used to destroy an array variable and +r will not remove the readonly

attribute. When used in a function, declare and typeset make each name local, as with the local command, unless the -g option is supplied. If a variable name is followed

by =value, the value of the variable is set to value. When using -a or -A and the compound assignment syntax to create array variables, additional attributes do not take

effect until subsequent assignments. The return value is 0 unless an invalid option is encountered, an attempt is made to define a function using ``-f foo=bar'', an

attempt is made to assign a value to a readonly variable, an attempt is made to assign a value to an array variable without using the compound assignment syntax (see

Arrays above), one of the names is not a valid shell variable name, an attempt is made to turn off readonly status for a readonly variable, an attempt is made to turn off

array status for an array variable, or an attempt is made to display a non-existent function with -f.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值