`
techcurtman
  • 浏览: 48413 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

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

阅读更多
declare

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

语    法:declare [-aixr] variable

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

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

相关推荐

    Linux declare命令用法详解

    Linux declare命令用于声明 shell 变量。 declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell...

    跟老男孩学Linux运维:Shell编程实战

    815.6 awk实现计算 / 835.7 declare(同typeset)命令的用法 / 835.8 $[]符号的运算示例 / 835.9 基于Shell变量输入read命令的运算实践 / 84第6章 Shell脚本的条件测试与比较 / 926.1 Shell脚本的条件测试 / ...

    Linux高级bash编程

    使用declare来指定变量的类型 9-22. 间接引用 9-23. 传递一个间接引用给awk 9-24. 产生随机数 9-25. 从一副扑克牌中取出一张随机的牌 9-26. 两个指定值之间的随机数 9-27. 使用随机数来摇一个骰子 9-28. 重新分配...

    2009 达内Unix学习笔记

    $ 取环境变量的值。 | 管道。把前一命令的输出作为后一命令的输入,把几个命令连接起来。 |经常跟tee连用,tee 把内容保存到文档并显示出来。 三、通用后接命令符 -a 所有(all)。 -e 所有(every),比a更...

    学习shell必备(CN).chm

    9.4. 指定变量的类型: 使用declare或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环与分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 10.4. 测试与分支(case与select结构) ...

    Shell中实现整数自增的几种方法示例

    Linux Shell中写循环时,常常要用到变量的自增,下面这篇文章主要给大家分享了关于Shell中实现整数变量自增的几种方法,包括declare -i来声明、使用let命令、使用(())以及使用expr命令等等方法,需要的朋友可以参考...

    uboott移植实验手册及技术文档

    了解 U-Boot-1.3.1 的代码结构,掌握其移植方法。 【实验环境】 1、Ubuntu 7.0.4发行版 2、u-boot-1.3.1 3、FS2410平台 4、交叉编译器 arm-softfloat-linux-gnu-gcc-3.4.5 【实验步骤】 一、建立自己的平台...

    mysql官方中文参考手册

    2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树...

    MYSQL中文手册

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 ...

    MySQL 5.1参考手册中文版

    2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发...

    MySQL 5.1参考手册

    2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树...

    MySQL 5.1参考手册 (中文版)

    2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树...

    MySQL 5.1中文手冊

    2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树...

    MySQL5.1参考手册官方简体中文版

    3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. ...

    SQL sever 实训

    --使用IF UPDATE(column)尽可能优化上题的触发器,以提高系统效率 ALTER TRIGGER UPDATE_ProNo_Stocks_TRIGGER ON Product FOR UPDATE AS IF UPDATE (ProNo) PRINT '已更新' GO --单元十三 游标 --创建存储过程...

    MySQL 5.1官方简体中文参考手册

    2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 2/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 2.7. 在...

    mysql5.1中文手册

    在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3...

    oracle恢复工具-FY_Recover_Data

    由于在System表空间中已经记录了新的信息, 因此用当前的System信息是不能恢复过来的,在AUL/MyDUL中可以当作没有System时的情况来处理,在下面的命令中, 我们用Truncate后的数据对象号就不能进行恢复, 而使用Truncate...

Global site tag (gtag.js) - Google Analytics