declare

功能介绍:声明变量的属性,如果使用declare,后面没有任何参数,那么bash就会主动将所有变量名与内容都调出来,just as set.

语    法:declare [-aixr] variable

参数说明:

-a  :将后面的variable定义为数组 
-i  :将后面的variavle定义为整数数字 
-x  :用法与export一样,就是将后面的variable变成环境变量 
-r  :将一个variable的亦是设置成只读,读变量不可更改内容,也不能unset

+/-  "-"可用来指定变量的属性,"+"则是取消变量所设的属性。

eg: 
1、将变量sum对200+400求和 
[[email protected] ~]#sum=200+400 
[[email protected] ~]#echo $sum 
200+400--------此处并没有像我们想像中那样会得到结果600,而是200+400,这是由于它是文字类型的变量属性 
[[email protected] ~]#declare -i sum=200+400 
[[email protected] ~]#echo $sum 
600------------明白了吧 
2、将sum变成环境变量 
[[email protected] ~]#declare -x sum 
3、让sum变成只读属性,不可更改 
[[email protected] ~]#declare -r sum 
[[email protected] ~]#sum=apple 
-bash: sum: readonly variable 
[[email protected] ~]#unset sum 
-bash: unset: sum: cannot unset: readonly variable 
在这里要特别说明一下:声明为只读变量之后,不能修改该变量的属性,也不能删除该变量,所以,在声明变量的时候,应该慎用,避免有去无回。另外,你在命令行中敲readonly,你会发现有很多只读变量,当然这些变量也是不能够被修改或删除的。

时间: 2024-12-22 02:33:30

declare的相关文章

declare的用法:定义环境变量;把环境变量修改为本地变量;是变量变为只读(和readonly一样)。

declare的法;  定义环境变量:declare -x 变量名 修改环境变量为本地变量: declare +x 环境变量名 使变量变为可读:declare -r 变量名 [[email protected] opt]# bb=10 [[email protected] opt]# declare -r bb //把变量变为可读(不能修改和删除) [[email protected] opt]# bb=20 bash: bb: readonly variable [[email protect

【转】基于linux下的变量声明declare的用法

转自:http://techcurtman.iteye.com/blog/1249512 declare 功能介绍:声明变量的属性,如果使用declare,后面没有任何参数,那么bash就会主动将所有变量名与内容都调出来,just as set. 语    法:declare [-aixr] variable 参数说明: -a  :将后面的variable定义为数组 -i  :将后面的variavle定义为整数数字 -x  :用法与export一样,就是将后面的variable变成环境变量 -r

灵活运用绑定变量---declare匿名块使用绑定变量

declare        type cur01 is ref cursor;     v_cur cur01;        v_match123 varchar2(2000);        v_sqltext varchar2(2000);       v_FORCE_MATCHING_SIGNATURE varchar2(2000);   v_EXACT_MATCHING_SIGNATURE varchar2(2000);        begin        :v_match123

declare命令用法

只需要掌握declare -i 就可以了 declare就是这么666

does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare

在Android进行Junit单元测试的时候报以下错误: [2015-04-06 20:26:21 - adtest] adtest does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml 是权限配置问题,需要在AndroidManifest.xm

oracle 写declare例子

注意: 1.赋值要用 := 2.或的关系用 or 表示 declare prefix VARCHAR2(2); --前缀 res_value VARCHAR2(20); begin prefix := 'QZ'; for i in (select col1,col2 from table_name ) loop if i.col1= 'col1' or i.col2= 'col2'  then     res_value := '123456';   end if; end loop; res_

declare 命令

declare命令用于声明和显示shell变量. declare为shell指令,命令与 typeset一样,可同时指定多个属性.若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同). 语法 declare [-aAfFilrtux] [-p] [name [= value] ...] 常用选项: - "-"可用来指定变量的属性,"+"则是取消变量所设的属性. -f 仅显示函数. -p   不跟变量名显示所有变量及其属性. r 将变量设

How Do I Declare A Block in Objective-C?

How Do I Declare A Block in Objective-C? As a local variable: returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...}; As a property: @property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes); As a method parame

NEUOJ 1117: Ready to declare(单调队列)

1117: Ready to declare 时间限制: 1 Sec  内存限制: 128 MB 提交: 358  解决: 41 [提交][状态][讨论版] 题目描述 Finally, you find the most good-looking girl... You are going to write a letter to her. But you are not convident to be better than other boys. So you think you need

python出现Non-ASCII character '\xe7' in file ex6.py on line 1, but no encoding declare错误

http://www.cnblogs.com/qi09/archive/2012/02/06/2340712.html python中出现Non-ASCII character '\xe7' in file ex6.py on line 1, but no encoding declare的错误 可按照错误建议网址查看http://www.python.org/peps/pep-0263.html 发现是因为Python在默认状态下不支持源文件中的编码所致.解决方案有如下三种: 一.在文件头部添